GRASP 处于最上层,SOLID 基于它再进一步细化阐述,GOF 再根据这些原则进一步的归纳出更具体的模式。
设计模式
备忘录模式
所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。
责任链模式
使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。
策略模式
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而变化。
状态模式
状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。 状态模式允许一个对象在其内部状态改变的时候改变其行为。 这个对象看上去就像是改变了它的类一样。
中介者模式
所谓中介者模式就是用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
原型模式
原型模式就是用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。
组合模式
组合模式组合多个对象形成树形结构以表示 `整体-部分` 的结构层次。
建造者模式
建造者模式将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。