码迷,mamicode.com
首页 > 其他好文 > 详细

一句话设计模式

时间:2017-07-06 23:53:43      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:中介者模式   设计   str   解决   了解   bsp   抽象   通知   object   

(实际是草稿)

1.简单工厂
不通过new 来产生对象,通过Factory.createObject
 
2.抽象工厂
生产多个对象,但是对象直接有联系 通过派生多个工厂实例来生产具体对象
(抽象工厂确定抽象产品的种类)
 
3.工厂方法
只有一种抽象产品,可以有多个具体产品,不同具体工厂根据参数确定不同具体产品
 
4.建造者模式
减轻设计负担,可以将实际建造推迟到builder方法
 
5.原型模式
必须实现cloneable接口,快速建造对象
 
6.适配器模式
两个接口不兼容,实现client的接口,同时有老接口的引用
 
Clinet -- > doA
 
doA{
     other.doB();
}
 
7.桥接模式
对于两个变化不相干的类,可以直接把另一个通过类构造器注入(保证正常运行,提醒客户需要另一个的协作)。
 
8.过滤器模式
public interface Criteria {
   public List<Person> filter(List<Person> persons);//过滤了一些,输出就少了一些
}
 
9.组合模式
树结构,子节点和父节点. 统一接口 方便遍历
 
10.装饰器模式
就是实现了和需要装饰东西一样的接口 然后把它注入到里面
除了它的接口直接调用注入对象的功能,它还可以附加一些功能
 
11.外观模式
多个简单类可以用一个复杂类来替代,暴露出方法,不暴露简单对象
 
12.享元模式
对象池,注意对象要有充分的复用性(设计对象的时候考虑)
 
13.代理模式
为了解决访问原始对象难(跨进程) ,或暂时无法访问(别人正在用),或有代理有更好方案(可以获取缓存代替直接调用)
 
14.责任链模式
需要多个处理类进行处理,不过顺序是可以基本确定的,每个处理类有关于下一个责任人的引用(setNextHandle)
 
15.命令模式
客户不与对象直接打交道,只可以和这些对象打交道的对象打交道。
 
16.解释器模式
对语法进行处理生成抽象语法树
 
17,迭代器模式
又想可以集合遍历,又不想暴露集合的排列方式(hasNext?)
 
18.中介者模式
各个对象的责任都很清晰 但是它们之间又需要通信,交给中介者来做
 
19.备忘录模式
需要保存对象的状态,在恰当的时候还可以恢复它,同时最好有个管理者管理对象们
 
20.观察者模式
有观察者,被观察的主题,客户。
客户将将需要被观察的主题交给观察者,观察者根据自身情况订阅。订阅了之后,当主题有变化,会通知观察者。【回调机制】
 
21.状态模式
需要执行的行为与状态有关,不如为不同的状态单创建一个对象,只需要设置状态,之后对应的调用交给当前状态对象处理。
 
22.空对象模式
在数据无效时提供了默认实现,虽然效果是什么都不做。但总比可能引起的崩溃要好。
 
23.策略模式
如果一个类其他功能都几乎一样,只有策略可以自由选择。可以为策略单独弄一个,这样客户可以自由切换或者自己也根据条件(数据源等)切换。
 
24.模板模式
有时候一类行为有大量通用的逻辑,但是有小部分不一样或者输入类型不同,可以把能复用的做成父类,子类继承实现具体相关的代码。
 
25.访问者模式:
有两个部分,一个是访问者,一个是被访问者,
访问者又想使用抽象接口来访问访问者,又想有所区分 

一句话设计模式

标签:中介者模式   设计   str   解决   了解   bsp   抽象   通知   object   

原文地址:http://www.cnblogs.com/vete-l/p/7128836.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!