读《设计模式:可复用面向对象软件的基础》有感2
这一次我读了其中的第4和5章。
着两章的大概内容为:创建型与结构型模式详解。
创建型模式:灵活的对象创建艺术
工厂方法模式展示了如何将对象的创建延迟到子类。这种看似简单的模式背后,是“依赖倒置”的深刻思想:高层模块不应依赖低层模块的具体实现。
抽象工厂模式更进一步,它创建的是“产品族”而非单个产品。在实际开发中,我遇到过跨平台UI开发的场景——需要为不同操作系统创建一套界面组件,抽象工厂完美解决了这个问题。
单例模式的深刻理解:书中不仅讲解了实现方式,更重要的是讨论了何时使用。单例模式的争议很大,但书中强调:确保一个类只有一个实例,并提供一个全局访问点。在配置管理、线程池、缓存等场景下,单例模式仍然是合理选择。
结构型模式:构建灵活的系统架构
适配器模式让我理解了“兼容”的艺术。就像电源插头转换器,适配器在不改变现有代码的前提下,让不兼容的接口能够协同工作。在现代微服务架构中,适配器模式常用于集成遗留系统。
组合模式的树形结构思想极具启发性。它统一了单个对象和组合对象的使用方式,使得客户端可以一致地处理简单和复杂元素。在GUI组件、文件系统等场景中应用广泛。
装饰器模式的精妙之处在于动态地为对象添加职责,而且可以递归装饰。这与继承的静态扩展形成鲜明对比。Java的I/O流是装饰器模式的经典应用。
我曾经在项目中过度使用继承,导致类层次结构复杂难懂。学习结构型模式后,我开始有意识地使用组合和装饰,代码的灵活性和可维护性显著提升。特别是在开发可配置的系统时,装饰器模式提供了优雅的扩展方案。

浙公网安备 33010602011771号