我们一起来读书吧 关注:154贴子:2,883
  • 0回复贴,共1

《设计模式》第二章(1-4节)有感

只看楼主收藏回复

在第二章中作者通过设计一个文档编辑器的实现来介绍设计模式的具体实际应用。通过阅读前四节可以验证出作者在第一章所讲的设计模式就是面相对象软件设计中经验的总结,只有实际的经验才能提炼出设计模式,从而体现出设计模式的应用。
在前四节中作者先后列举了组合模式、策略模式、装饰器模式在设计文档编辑器中的作用。作者用组合模式实现了组织文档的图元结构,用策略模式实现了不同文档物理结构和格式化算法之间的隔离,实现了运行时实时改变格式化算法的功能,然后用装饰器模式实现了对编辑页面增加修饰效果的功能。
本章其实作者只是通过实际例子表明所做的设计可以抽象、总结为相关的设计模式,但是对具体设计模式的定义、功能、类结构等还没有实际讲述。但是我们根据本书所讲的例子看出上面三种模式所适用的场景。
组合模式可以以递归的方式处理对象树的所有对象,所以当一系列对象具有层级关系,但是又有可以抽象出的共同行为需要统一处理时时,我们就可以组合模式来处理这些对象的共同行为。
策略模式可以将行为或者实现方法进行封装区分,从而可以根据不同场景使用不同的实现,所以当我们的对象在不同场景下的表现行为不一致时,我们就可以考虑使用策略模式将其行为封装为不同的策略,从根据不同场景实时选择不同策略。
装饰器模式可以在不改变对象原有结构的基础上为对象动态扩充功能,所以当一个对象的某个功能需要动态增加、扩展的时候,我们就可以使用装饰器模式进行实现。
设计模式为我们解决一些相似类型问题提供了优质的解决方案,设计模式容易学习,但是如何在实际项目中合适的应用这些设计模式才是相对较难的部分。日常的技术方案设计、评审环节就是我们学习、提高这方面能力的一个机会,所以一定要认真对待技术方案设计、评审。


IP属地:北京1楼2024-01-28 12:16回复