设计模式-可复用面向对象软件的基础读书笔记-第一章01

如何选择设计模式以及选择设计模式之后如何使用

每个模式的简介在P5 P6

各个模式之间的关系在 P8 图1-1

P8 P9

  • 寻找合适的对象 (将系统分解成合适的对象集合)
    • 写出问题描述 根据名字动词创建对应的类和操作
    • 根据系统的协作和职责分类
    • 根据对现实世界进行分析建模Composite模式引入了统一对待现实世界中并不存在的对象的抽象方法
    • 等等其他方法
    • 设计模式也可以帮助确定不太明显的抽象和描述这些抽象的对象
    • Strategy模式描述了怎么实现可互换的算法族
  • 决定对象的粒度
    • Facade模式描述了如何用对象表示一个完整的子系统
    • Abstract Factory以及Builder产生那些专门负责生产其他对象的对象 哈啊
    • Visitor以及Command生成的对象专门负责实现对其他对象或对象组的请求

P16 P17

一些常遇见的问题以及解决方式总览
Q1:显示指定一个类来创建对象
A1:Abstract Factory Factory Method Prototype

Q2:对特殊操作的依赖(写死)
A2:Chain of Resposibility Command

Q3:对硬件和软件平台的依赖
A3:Abstract Factory Bridge

Q4:对对象表示或实现的依赖
A5:Abstract Factory Bridge Memento Proxy

Q5:算法依赖
A5:Builder Iterator Strategy Template Method Visitor

Q6:紧耦合
A6:Abstract Factory Command Facade Mediator Observer Chain of Responsibility

Q7:通过子类扩充功能(有时候一个小小的不一样的需求就搞一个子类)
A7:组合方式 Bridge Chain of Responsibility Composite Decorator Observer Strategy

Q8:不能方便的对类进行修改(比如某些库)
A8:Adapter Decorator Visitor

发布了40 篇原创文章 · 获赞 0 · 访问量 2582

猜你喜欢

转载自blog.csdn.net/u010571102/article/details/103834429