GOF之行为型模式Ⅰ(重点)

责任链模式(chain of responsbility)

职能:将能处理同一类请求的对象连接成一条线,所提交的请求沿链传递

组件:
Handler:抽象处理类,声明处理方法
ConcreteHandler:具体处理类,判断权限,进行处理
实例:java异常机制,Servlet中过滤器的链式处理,Struts2中拦截器的调用
UML:
GOF之行为型模式Ⅰ(重点)

迭代器模式(iterator(游标模式 cursor))

职能:提供一种可以遍历对象的方式

组件:
Aggregate:实现接口,聚合对象,进行数据的存储
Iterator:实现接口,迭代器,遍历数据,一般定义为内部类,只为一个特定的类提供服务

UML:
GOF之行为型模式Ⅰ(重点)

中介者模式 Mediator

职能:解耦多个对象之间的交互关系,使用中介者对象统一管理这些交互关系

两种对象:
①同事对象,一个系统中对象之间关系为网状结构,存在大量多对多关系,导致关系十分复杂
②中介者对象,使得同事对象只与中介者对象打交道,变为一对多关系,降低复杂度

组件:
Mediator:抽象中介者
Colleague:抽象同事类
ConcreteMediator:具体中介者,负责和各个同事类交互
ConcreteColleague:持有中介者的对象,和中介者进行交互
实例:MVC中的C(控制器),反射中的invoke()

UML:
GOF之行为型模式Ⅰ(重点)

命令模式(Command)

职能:将一个请求封装为一个对象,使得不同的请求对客户进行参数化

组件:
Command:抽象命令类
ConcreteCommand:具体命令类
Invoker:调用者/请求者
Receiver:接收者
实例:Structs2中action的调用过程,数据库事物机制的底层实现
UML:
GOF之行为型模式Ⅰ(重点)