面向对象编程时,应当牢记:保持对象小型化、模块化、非耦合以及流线型。
1、适配器模式
@1将某个对象的接口适配为另一个对象所期望的接口
2、建造者模式
@1、建造者模式的目的是消除其他对象的复杂创建过程
3、装饰器模式
通俗理解:装饰..
@1、如果已有对象的部分内容或功能性发生改变,但是不需要修改原始对象的结构,那么使用装饰器设计模式最合适。
4、委托模式
通俗理解:消除if else等不可控的判断语句,创建不同的类传入不同参数来实现自动加载
去除核心对象的判决和复杂的功能性
5、外观模式(书籍:第70页有典型案例)
用于处理人们误认为简单的复杂组件
@1通过在必须的逻辑和方法前创建简单的外观接口,外观设计模式隐藏了来自调用对象的复杂性
6、工厂模式
工厂模式提供了某个对象获取某个对象的新实例的接口,同时使调用代码避免确定实际实例化基类的步骤
7、解释器模式
参考文章:http://blog.csdn.net/jhq0113/article/details/46291919
8、迭代器设计模式
可 帮助构造特定对象,那些对象能够提供单一标准接口循环或迭代任何类型的可计数数据
9、中介者模式
处理具有类似属性,并且属性需要保持同步的非耦合对象时,最佳的做法是使用基于中介者设计模式的对象。
10、观察者模式
在需要向代码库中添加新功能性而不知道核心对象的时候,我们可以使用观察者设计模式。
使用案例:插件
11、原型模式
在需要经常创建资源集中型对象的情况,可以采用原型模式
复制和克隆初始对象或原型。
12、代理模式
13、单元素模式(单列模式)
通过提供对自身共享实例的访问,单元素设计模式用于限制特定对象只能被创建一次
应当阻止创建某个对象的多个实例。
14、策略模式
比如在面向对象编程过程中,某个具体的模块继承一个公用的基类,基类包含了大量的方法,而基类的大部分实例不会调用这些方法,接下来的重构步骤涉及从基类中取出这些方法以及将其添加入只在需要时创建的具体类中。这是策略设计模式的真正魅力。
15、模板模式
创建定义了设计常规步骤,但实际逻辑留给子类进行详细说明的对象时,最佳做法采用模板设计模式
16、访问者模式(看代码,并记录下来)
访问者设计模式构造了包含某个算法的截然不同的对象,在父对象以标准方式使用这些对象时就会将该算法应用于父对象。
当创建被封装在外部类中、能够以标准方式应用于主类的功能性时,可以使用访问者设计模式。