写给所有程序员_那些年我们常用的设计模式

来源:互联网 发布:网络奇谈 恐惧鸟 txt 编辑:程序博客网 时间:2024/06/06 10:49

写的不一定准,是个人的理解,方便找合适的设计模式来用。这篇写的不对的尽管喷,欢迎提建议。

工厂方法模式
使用工厂类间接创造某类对象,每个工厂类只创造一类对象。

抽象工厂
每个工厂类可以产生多种对象,多个工厂可以共享一个接口。

单例模式:
使用特殊方式,保证只存在唯一的对象。

建造者模式:
对象内部需要多种元素组成,但每个元素都可能要或不要。

原型模式:
某些对象的一些变量值相同,将已有对象的变量值拷贝到新的对象中。

适配器模式:
对象配置适配器,适配器实现接口,间接完成接口的匹配。

装饰器模式
装饰器类对对象进行操作,或操作组合,外部通过调用装饰器类间接处理对象。

代理模式
可直接操作对象或者通过代理操作对象,适合多个地方打开统一功能的地方。

外观模式
隐藏操作细节,暴露必要的接口。

桥接模式
多种类别划分,使用其中一个间接操纵方式连接其他的。

组合模式
树枝和树叶的关系,可完成层层叠加

享元模式
使用静态方式保持数据唯一,个人不大喜欢,因为java的垃圾回收会回收静态对象,唯一试用的大概是全局用户对象。

策略模式
临时装载一种计算方式,如骑行某段路程到达时间和自驾某段路程到达时间。

模板方法模式
继承抽象类的具体子类。

观察者模式(订阅者)模式
多个类关联一个类,这个类改变多个类也要改变。

迭代子模式(Iterator模式)
让普通的类可以使用Cursor

责任链模式
层层下发任务,下级处理,上级获取结果

命令模式
每个命令创建类,操作者接入命令就能完成操作。

备忘录模式
建立存档,需要回退时恢复到该状态。

状态模式
创建多个状态类,创建操作接口,当状态改变时修改状态并改变状态。

访问者模式
对于外部类的访问,创建特定的对象和方法,只为它提供其需要的有限数据。

中介者模式
协调多个元素的关联部分,完成多元素调度。

解释器模式
自定义小型编译器,对于不能重写运算符的编程语言比较有用。

阅读全文
0 0