应用仅有唯一对象实例是单例模式。
复杂对象根据设置参数不同可以构造不同对象,采用建造者模式。
方法返回参数是接口类型可以是工厂模式。
以同一个类快速赋值个实例,可用原型模式
接口抽象和实现解耦,接口注入它类的构造方法,是桥接模式。
两个不兼容的接口,实现在一个类中一起工作叫适配器模式
一个类中包含引用这个类的属性或者集合,可用组合模式
一份个接口,有两个实现类,一个具体实现,一个包含具体实现的类,调用具体的实现,
如果在调用具体实现前后加入其它处理,则是装饰器模式,如果只是一一对应的调用,则是代理模式
提供一个单一类,把把分散在各处需要调用的功能,封装在这个类里,统一暴露给调用者。使用外观模式
需要减少对象的数量,采用缓存的技术实现,就是享元模式。
解决个对象不需要显示地相互引用,加一层处理个对象之间的交互,就有中介者模式
迭代器模式,顺序访问集合对象的元素。 需要注意的是, 实现类提供方法返回回Iterator接口,实现类采用内部类实现Iterator接口的方法,内部类向上转型为接口,隐藏内部实现细节
模板模式: 基类抽象类中,固定好执行的特定步骤,子类继承实现具体的
观察者模式: 被观察者提供注册观察者并保存在集合中,一个目标对象改变后,通知被观察者中注入的观察者调用对应的更新方法。
命令模式:一次设定,统一执行
一个命令接口, 命令的实现类包裹着命令接收者,在重写命令的方法时,执行接收者;
一个 调用者接收命令,命令保存在调用者容器中,调用者发布命令,通过命令对象的命令便可以通知接收者。当然也可以不转发给接收者,直接实现。
责任链模式 请求发送者,有多个对象都可以接收处理, 把这些对象链接成一条链。 每个对象都需要提供一个设置对象的方法。
状态模式与责任链模式类,只不过状态模式下的 给个状态下的下一个状态在编译时时候就设定好了,而责任链下一个处理对象是客户端设定的。
策略模式,一个类提供一个方法参数是策略接口, 传入实现策略的接口。
访问者模式 提供一个接口,定义访问者类的操作的接口,提供的方法方法参数是接收操作的实现类。 定义一个接收操作的接口,接口的方法参数是方法者操作类的接口。