设计模式学习笔记

来源:互联网 发布:大数据就业前景 知乎 编辑:程序博客网 时间:2024/06/01 21:38
这两天把设计模式看了一下。
简单工厂模式不符合开闭原则,故有工厂方法模式。
工厂方法模式和抽象工厂模式的区别在于,工厂方法模式一个类只生产一个产品,而抽象工厂模式一个具体工厂类生产一个产品系列。
如dao具体工厂,MysqlDaoFactory,生产mysql系列的dao.
创建者模式精髓在于创建对象不在客户端代码,而在具体的builder类。
原型(clone)、单例不谈。


适配器模式是把旧系统和新系统接口匹配起来。
桥接模式把实现和抽象从继承的关系改为聚合关系。
适配器模式是解决已有接口问题,桥接模式是在类的设计阶段。
组合模式像一颗树,递归组装。
装饰模式持有自身引用,并在继承过来的方法里加特殊实现。
外观模式是把子系统封装起来。
享元模式减少不必要的内存开销,实现相同对象的复用。
代理模式代理类持有被代理类的引用。


责任链模式是直到找到一个可以处理该任务的类。
命令模式,client把接收者和命令组装起来,相当于遥控器的红外线,invoker相当于遥控器,command是遥控器的按钮,具体receiver是电视机(的某个动作)
解释器模式。
迭代器模式iterator
中介者模式是对象中介,用于各对象通信。(代理模式是类的代理)
备忘录模式是保存某个对象,比如序列化。
观察者模式,如java的Event,button.addListener添加观察者,button触发动作,通知观察者。观察者(listener)再做不同操作。
状态模式允许一个对象在内部改变时改变它的行为,把if-else拆分成不同的实现类,要注意顺序。感觉和责任链模式有点相似。
策略模式如超市打折算法。
模板方法模式抽象类预先固定一些操作,子类继承,并实现自己的一些方法,但继承的一些固定操作不变。
0 0