23种 设计模式总结

应用仅有唯一对象实例是单例模式。

复杂对象根据设置参数不同可以构造不同对象,采用建造者模式。

方法返回参数是接口类型可以是工厂模式。

以同一个类快速赋值个实例,可用原型模式

接口抽象和实现解耦,接口注入它类的构造方法,是桥接模式。

两个不兼容的接口,实现在一个类中一起工作叫适配器模式

一个类中包含引用这个类的属性或者集合,可用组合模式

一份个接口,有两个实现类,一个具体实现,一个包含具体实现的类,调用具体的实现,
如果在调用具体实现前后加入其它处理,则是装饰器模式,如果只是一一对应的调用,则是代理模式

提供一个单一类,把把分散在各处需要调用的功能,封装在这个类里,统一暴露给调用者。使用外观模式

需要减少对象的数量,采用缓存的技术实现,就是享元模式。

解决个对象不需要显示地相互引用,加一层处理个对象之间的交互,就有中介者模式

迭代器模式,顺序访问集合对象的元素。 需要注意的是, 实现类提供方法返回回Iterator接口,实现类采用内部类实现Iterator接口的方法,内部类向上转型为接口,隐藏内部实现细节

模板模式: 基类抽象类中,固定好执行的特定步骤,子类继承实现具体的

观察者模式: 被观察者提供注册观察者并保存在集合中,一个目标对象改变后,通知被观察者中注入的观察者调用对应的更新方法。

命令模式:一次设定,统一执行
一个命令接口, 命令的实现类包裹着命令接收者,在重写命令的方法时,执行接收者;
一个 调用者接收命令,命令保存在调用者容器中,调用者发布命令,通过命令对象的命令便可以通知接收者。当然也可以不转发给接收者,直接实现。

责任链模式 请求发送者,有多个对象都可以接收处理, 把这些对象链接成一条链。 每个对象都需要提供一个设置对象的方法。

状态模式与责任链模式类,只不过状态模式下的 给个状态下的下一个状态在编译时时候就设定好了,而责任链下一个处理对象是客户端设定的。

策略模式,一个类提供一个方法参数是策略接口, 传入实现策略的接口。

访问者模式 提供一个接口,定义访问者类的操作的接口,提供的方法方法参数是接收操作的实现类。 定义一个接收操作的接口,接口的方法参数是方法者操作类的接口。

你可能感兴趣的:(设计模式)