接口型模式:
Adapter:修改类的外部接口以满足客户期望
Facade:为一组类提供简单的接口
Composit:把树和树叶都定义在同一个抽象的接口中—树节点,我认为其主要作用是方便递归
Bridge:对一个总的接口来说,扩展(从逻辑角度理解,如 碗 扩展 餐具)使用一个类层次结构,实现(从物理角度理解,如金餐具、银餐具)使用另一个类层次结构。这两个类层次结构可以相互独立。也就是说,当富人变穷,将一套金餐具换成一套泥餐具后,他们全家仍然可以顺利执行吃饭喝汤的动作
责任型模式:
Singleton:将责任集中到某个类的单个实例中
Observer:使某个对象不必关心有哪些对象依赖自己
Mediator:将责任集中到某个类中,这个类可以监视其他对象的交互
Proxy:使得一个对象代表另一个对象进行各种操作,代理者能够智能地将调用转发给另一个对象
Chain of Responsibility:能够允许一个请求沿着对象链不断向上提交,直到这个请求被某一级对象处理
Flyweight:将共享的细粒度对象的责任集中在一处
构造型模式:
Builder:不解
Factory Method:推迟确定需要实例化的类
Abstract Factory:构造一系列具有某个特性的对象
Prototype:根据给定的例子创建一个对象
Menento:从对象的休眠版本重新创建对象,该休眠版本包含结对象的内部状态
非GOF模式:
Monostate:采用构造分别构造的两个同类对象,其实仍是同一个对象。实现办法:限制对象的所有成员变量都是静态变量