读《设计模式:可复用面向对象软件的基础》有感1
在本学我学习了软件设计这门课,也初步了解了23种设计模式,我打算学习巩固这方面的知识,于是我选择阅读了这本书:《设计模式:可复用面向对象软件的基础》。
关于这本书的介绍:《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Software)是软件工程领域设计模式的开山经典,由 Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides 四人合著(简称 GoF),1994 年出版,中译本于 1995 年推出,奠定了面向对象设计模式的工业标准。
我先阅读了3章这部分大致关于设计模式入门与基础理念,核心思想为:什么是设计模式?
设计模式并非凭空发明的规则,而是无数优秀程序员在解决特定问题时总结出来的最佳实践方案。书中明确定义:设计模式是在特定环境下,针对一类问题的可复用解决方案。
模式的四大要素至关重要:
模式名称:创建通用词汇,让团队沟通更高效
问题:描述模式应用的场景和要解决的问题
解决方案:抽象的解决方案,不针对具体实现
效果:使用模式的优缺点分析
理解面向对象设计原则:
“针对接口编程,而非针对实现编程” 是全书的核心原则。这不仅仅是技术选择,更是思维方式的转变。当客户代码依赖接口时,具体实现类的变化不会影响客户代码,这是实现松耦合的关键。
组合优先于继承 的理念颠覆了传统OOP教学。
继承虽然是强大的代码复用工具,但过度使用会导致:父类修改影响所有子类,破坏封装性,难以在运行时改变行为,而组合提供了更大的灵活性,可以在运行时动态改变对象的行为。
设计模式分类框架
GoF提出的分类法为理解模式提供了清晰框架:
创建型模式:处理对象创建机制
结构型模式:处理类和对象的组合
行为型模式:处理对象间的职责分配和通信
学习前3章最大的收获是理解了设计模式的本质不是“高级技巧”,而是“沟通语言”和“思维工具”。当我们说“这里用观察者模式”,团队成员立刻明白意图,无需长篇解释。这种标准化词汇的价值,在团队协作中尤为明显。

浙公网安备 33010602011771号