读《设计模式:可复用面向对象软件的基础》有感3

这次我阅读的第6-7章,主要内容关于:行为型模式与模式综合应用。

观察者模式是事件驱动编程的基石。书中用出版-订阅的比喻生动解释了这一模式。在实际的MVC架构中,模型(被观察者)的改变自动通知视图(观察者),实现了良好的解耦。

策略模式将算法家族封装起来,让它们可以互相替换。这让我反思:为什么要把容易变化的算法硬编码在类中?将算法独立出来,不仅增加了灵活性,也使得单元测试更加容易。

模板方法模式定义了算法的骨架,将某些步骤延迟到子类。这个模式让我理解了框架设计的思想:框架控制流程,用户填充细节。Spring框架中的JdbcTemplate就是典型应用。

访问者模式是最复杂但最强大的行为模式之一。它解决了在不修改类结构的前提下,为类层次添加新操作的问题。虽然增加了系统复杂性,但在编译器、抽象语法树处理等场景中不可或缺。

第7章的“设计模式如何解决设计问题”是全书的精华所在。我特别受益于模式选择的方法论:
从问题出发:不要为了用模式而用模式
考虑变化点:识别系统中可能变化的部分,用模式封装变化
权衡利弊:每个模式都有代价,理解其适用场景和限制
模式组合:真实系统通常组合使用多个模式

阅读这本经典的过程,不仅是学习23个模式,更是培养一种“设计思维”。当我面对新的设计问题时,会自然地思考:变化的维度是什么?如何解耦?怎样让系统更灵活?这种思维方式的转变,是这本书带给我的最大财富。设计模式不是银弹,而是经验丰富的设计师工具箱中的精良工具——知道何时使用、如何使用,才是软件设计的艺术。

posted @ 2026-01-15 21:51  老汤姆233  阅读(4)  评论(0)    收藏  举报