Awezome

  • 主页
  • 随笔
所有文章 友链 关于我

Awezome

  • 主页
  • 随笔

设计模式学习简单总结

2014-03-25

最近又把设计模式看了看,总感觉用上这东西设计类有着非常强大的作用,更加灵活。总结一下。

创建型
工厂模式(Factory):switch
单例模式(Singleton):只有一个
建造者模式(Builder):多个方法的执行顺序
原型模式(Prototype):clone

结构型
桥接模式(Bridge):
适配器模式(Adapter):新建一个子类,继承原有类,重写原有方法,在方法里实现新方法。用实现的子类替代父类做接口。
装饰模式(Decorator):新建一个类,继承原有类或原有类父类,重写原有方法,在方法里增加相应的新方法,参数为原有类
外观模式(Facade):相当于一个中介,把不同类的相同意义上的方法再封装到一个方法里,这样客户端调用时就不用考虑具体有哪些子类,直接调用中介就可以。就是作个接口,在接口里调用具体类的复杂方法,使用时直接调用接口的简单的方法。
组合模式(Composite):树的叶子与结点的组合
享元模式(FlyWeight):先把公共资源存起来,后期根据需要提取。
代理模式 (Proxy):在具体类和客户端之间又加了一层中介来保存具体类不让客户端知道,中介应和具体类有着相同的接口,并在内部调用具体类的相同的方法,还可以加入一些其它的如权限判断的特性。

行为型
模版模式(Template):公共父类为模板,子类继承
策略模式(Strategy):决策做什么
状态模式(State):改变一个状态时触发另一个状态
观察模式(Observer):被观察的东西变化时,通知所有观察者
备忘模式(Memento):备份还原
中介模式(Mediator):把不同的类联系起来,这些样有着相同的父类。
命令模式(Command):发命令指挥
访问者模式(Visitor):
职责链模式(Chain of Responsibility):越级调用别的级别的方法
迭代模式(Iterator):List
解释器模式(Interpreter):解释一个对象

区别与联系:
Strategy & Factory
工厂相当于黑盒,策略相当于白盒
Adapter & Decorator
Decorator 一般接口不变或增加,Adapter 用子类代替父类做接口,接口改变了。

赏

谢谢你请我吃糖果

  • 设计模式
  • Java

扫一扫,分享到微信

rsync 用法总结
[转] PHP对象在内存中的分配说明
© 2014-2019 Awezome
Hexo Theme Zilia by Awezome