创建型设计模式分享

闲说设计模式

  • 信耶稣的人都要读圣经,而信OO的人都要读四人组的《设计模式》,这就是OO的圣经。
  • OO概念是我们的基础,OO原则 是我们的目标,而设计模式是我们的做法。
  • 把模式装进脑子里,然后在你的设计和已有的应用中,寻找何处可以使用它们。

设计模式定义

1、模式:在某情境下,针对某问题的某种解决方案。

  • 情境:就是应用某个模式的情况。这应该是会不断出现的情况。
  • 问题:就是你想在某情境下达成的目标,但也可以是某情境下的约束。
  • 解决方案:就是你所追求的,一个通用的设计,用来解决约束、达到目标。

2、STAR法则:在某情境下,针对某目标,采取了某种行动,得到了某种结果。

相同:应用于重复出现的问题
结论:一种思想、思考方式

设计模式分类

我们知道四人组的《设计模式》共介绍了23种,并且将其分成3类,分别是:创建型、结构型、行为型,如下所示:

  • 创建型:5个。单例模式、工厂方法模式、抽象工厂模式、原型模式、建造者模式
  • 结构型:7个。适配器模式、装饰模式、代理模式、组合模式、桥接模式、外观模式、享元模式
  • 行为型:11个。观察者模式、策略模式、模板方法模式、命令模式、迭代器模式、中介者模式、备忘录模式、解释器模式、状态模式、责任链模式、访问者模式
1、分类的目的:方便记忆与使用、方便比较、可以在更抽象的层次上思考这些东西、有机会还可以创建自己的设计模式。(分为3个类别是比较适合的,当前分为45类也没有错。)

2、分类方式:模式所处理的是类或对象。——分为:类模式和对象模式
类模式:描述类之间的关系如何通过继承定义。类模式的关系是在编译时建立的。(模版方法模式、工厂方法模式、适配器模式、解释器模式)
对象模式:描述对象之间的关系,而且主要是利用组合定义。对象模式的关系通常在运行时建立,而且更加动态、更有弹性。(单例模式、建造者模式等)

3、对3个名词的理解:
创建型:涉及到将对象实例化,这类模式都提供一个方法,将客户从所需要实例化的对象中解耦。
结构型:可以让你把类或对象组合到更大的结构中。
行为型:都涉及到类和对象如何交互以及分配职责。

单例模式在这里插入图片描述

工厂方法模式

在这里插入图片描述

抽象工厂模式

在这里插入图片描述

原型模式

在这里插入图片描述

建造者模式

在这里插入图片描述

总结

  • 设计应保持简单
  • 使用设计模式时,思考带来的副作用
  • 使用模式的情形:出现需要设计模式的迹象时、重构时
  • 不要过度设计,不需要设计模式的时候就勇敢的删掉

最后:设计模式只是一种工具,合理使用才是正道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值