‘壹’ 大话设计模式这本书怎么样
不错的一本书,设计模式里面比较经典的。
它不是死板的,会用生活中的事例去形象说明,比较有趣味~~
另外《Head First设计模式》也不错
‘贰’ 设计模式(c++)笔记之八(Decorator模式)
Decorator模式是一种动态地为对象添加额外职责的灵活方法,尤其在需要在OO设计中添加新功能时,相较于继承方式更具优势。以下是关于Decorator模式的详细笔记:
核心思想:
- 通过组合而非继承来扩展类的行为:Decorator模式允许通过组合的方式,将新的职责附加到对象上,而不是通过继承来扩展类的行为。这种方式更加灵活,因为它不需要修改现有的类结构。
- 实现多态:Decorator模式通过定义一个公共基类,使得不同类型的组件和装饰器可以通过这个基类进行统一处理,实现多态性。
关键特性:
- 灵活性:Decorator模式提供了极大的灵活性,因为它允许在运行时动态地添加或移除装饰器,从而改变对象的行为。
- 扩展性:该模式不局限于特定的组件,可以应用于任何需要动态扩展功能的场景。
实际应用:
- 类比成绩单装饰:通过装饰器类来包装原始成绩单,实现对原始信息的增删改,以达到特定的效果。
- 代码实现:需要定义接口、具体成绩单类,以及各种装饰器类。每个装饰器都包含一个指向接口类型的私有变量,用于引用被装饰的对象。
学习资源:
- 推荐书籍:《设计模式之禅》和《GoF_23种设计模式解析》等书籍提供了对Decorator模式以及其他设计模式的深入解析和实际应用案例。
Decorator模式是一种强大的设计模式,它提供了在不修改现有类结构的情况下动态扩展对象行为的能力。通过学习和应用这种模式,可以更加灵活地设计和实现软件系统。