设计模式第八堂课

来源:互联网 发布:淘宝历史宝贝精灵 编辑:程序博客网 时间:2024/05/29 21:17

1.Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著(Addison-Wesley,1995)。"四人组(Gang of Four)" ---23种设计模式

 

2.GRASP (职责分配原则) GeneralResponsibility Assignment Software Patterns

中文名称为“通用职责分配软件模式”,GRASP一共包括9种模式,它们描述了对象设计和职责分配的基本原则。

 

2.1 Information Expert (信息专家)

1)该专家是负责处理请求,并应具有所需的完整信息的对象

2)问题的解决

A.谁应该被分配负责处理请求

B.从控制器过多的责任并将其分配给其他对象

3)缺点

专家可能会成为一个很大(大量的方法)的对象

 

2.2 Controller 控制器

1)控制器与参与者请求的业务对象(model)进行合作

2)将请求结果显示(view)给参与者

3)问题的解决

A.去除视图(view)和模型(model)之间的耦合

B. view提交请求给控制器,控制器分发消息到model对象=>由控制器处理逻辑

4)缺点

由2层(MV)模式变成3层(MVC)模式,由两方耦合变为三方耦合,代码复杂度提高

 

2.3 Creator 创建者

1)创建者是负责创建类对象的对象

2)问题解决:

A. A类是B类的集合

B. A类对象包含B类对象

C. A类对象记录B类对象

D. A类对象紧密使用B类对象

E. A类对象具有信息来创建B类对象

3)缺点

一个类对象可能有很多不同的创建方式

0 0