设计模式学习笔记

来源:互联网 发布:深圳中原成交数据 编辑:程序博客网 时间:2024/04/29 05:36

1. 单例模式

限制只产生一个对象。  if (object == null) { object = new Object(); }

2. 简单工厂模式

通过一个工厂类根据条件来创建各种各样的类。

3. 工厂方法模式

对工厂类进行改造分解,工厂类升级为接口,一对一建立工厂类(针对要生产的类),实现工厂接口。

问题来了:简单工厂和工厂方法有什么优劣?

4. 迭代器模式

Iterator,具有遍历性质的模式。

5. 原型模式

创建多个相同内容的对象时需要一个原型版本,针对这个原本克隆出一些副本。调用obj.clone()。

6. 代理模式

代理类和主体类继承同一个类,以表示操作相同。代理类里面实例化主体类,并调用主体类的操作。本质是主体对客体进行操作,但不是直接,而是通过了代理。

7. 策略模式

多个策略(算法不同,目的一样)继承同一个抽象策略,放入一个中介类Context,只要调用中介类就可以判断调用的是哪个策略,从而很好地封装了算法。

8. 模板方法模式

子类继承抽象的父类,有权覆盖父类中可变部分(抽象方法、钩子方法),无权覆盖父类中不可变部分(具体方法)。

9. 观察者模式

通过一个观察者类,维护一个全是目标类的列表,并逐个传递消息给目标类。

10. 抽象工厂模式

原理和其他工厂模式类似,区别在于工厂类确定后不能扩展类,只能在类内增加方法,而产品类则可以无限制扩展并且与已存在的产品类无关。[反射的使用能让工厂模式更加灵活--替换switch或if的]

11. 状态模式

12. 适配器模式

13. 桥梁模式

两个聚合关系的对象,通过在一个对象里面传入另一个对象关联一起。


0 0
原创粉丝点击