设计模式第八堂课
来源:互联网 发布:淘宝历史宝贝精灵 编辑:程序博客网 时间: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
- 设计模式第八堂课
- 第八篇 设计模式--适配器模式
- 第八课 装饰模式
- js 设计模式 第八章 Bridge Pattern
- 我的第八课:【设计模式】====原型模式
- Android Ap 开发 设计模式第八篇:抽象工厂模式
- Android App 开发 设计模式第八篇:抽象工厂模式
- IOS设计模式第八篇之键值观察模式
- 设计模式C++版:第八式工厂方法模式
- 第八讲:Obj-C 协议 Delegate 代理设计模式
- 《java多线程设计模式 第八章Worker Thread》
- GeekBand C++ C++设计模式 第八周笔记
- 《Android之大话设计模式》--设计模式之结构型模式 第八章:外观模式 MM也迷恋炒股?
- Head First设计模式C++实现--第八章:模板(Template)模式
- 读书笔记_java设计模式深入研究 第八章 状态模式 State
- 设计模式第一堂课
- 设计模式第二堂课
- 设计模式第四堂课
- 全局静态变量和局部静态变量的区别
- 第2章 一切都是对象——Thinking-in-Java
- github学习之路(一)部署
- 内链接和外连接
- 15电气李书鹏 作业1
- 设计模式第八堂课
- Codeforces 301A Yaroslav and Sequence 【思维】
- git工作笔记
- [BZOJ1056][HAOI2008]排名系统(平衡树splay)
- MyBatis逆向工程
- Android开发 Activity的四种启动模式
- DB2存储过程入门
- 类的静态成员
- Qt之模型/视图(自定义按钮)