编程-结构型设计模式-小结

笔记二:结构型设计模式

引言

结构型设计模式关注于如何组合类或对象来形成更大的结构。这些模式提供了多种方式来改变类的接口或组合类来获得新的功能,从而帮助我们解决常见的软件设计问题。

结构型模式的定义

结构型设计模式是一类设计模式,用于简化接口、组合对象、改变类的接口、封装对象的创建过程等。这些模式帮助开发者设计出更易于理解、维护和扩展的系统。

为什么需要结构型模式
  • 简化接口:通过提供一个简洁的接口来访问一组接口或子系统,使得客户端代码更易于编写和维护。
  • 组合对象:允许将对象组合成树形结构来表示"部分-整体"的层次结构,以便一致地处理单个对象和组合对象。
  • 改变类的接口:使现有类的接口与所需接口相匹配,从而可以重用现有类而不需修改它们。
  • 封装对象的创建过程:允许在不改变现有对象的情况下添加新的功能,或控制对一个对象的访问。
小结
  • 结构型模式的共性

    • 这些模式都关注于如何组织类和对象以形成更大的结构。
    • 它们提供了一种方式来改变类的接口或组合类来获得新的功能。
    • 结构型模式通常有助于降低系统的耦合度,使得程序更易于维护和扩展。
  • 何时使用这些模式

    • 当你需要简化接口以提供一个更高级别的视图时。
    • 当你需要组合对象以形成更大的结构时。
    • 当你需要改变现有类的接口以满足新的需求时。
    • 当你需要在不改变现有对象的情况下添加新的功能时。
    • 当你需要控制对一个对象的访问时。
结构型模式的共性
  • 接口的简化:这些模式通常提供一个简化的接口,使得客户端代码可以更容易地与子系统交互。
  • 对象的组合:这些模式允许将对象组合起来形成更大的结构,从而可以以一致的方式处理单个对象和复合对象。
  • 接口的调整:通过适配器、桥接等方式调整现有接口以适应新的环境。
  • 功能的扩展:通过装饰器等模式在不改变现有对象的情况下添加新的功能。
  • 访问的控制:通过代理模式控制对对象的访问。
何时使用这些模式
  • 适配器模式:当你需要将一个类的接口转换成客户期望的另一个接口时。
  • 桥接模式:当你需要将抽象与其实现分离,以便两者可以独立变化时。
  • 组合模式:当你需要将对象组合成树形结构来表示"部分-整体"的层次结构时。
  • 装饰器模式:当你需要动态地给对象添加额外的责任时。
  • 外观模式:当你需要为一个子系统提供一个简洁的接口时。
  • 享元模式:当你需要减少大量相似对象的内存消耗时。
  • 代理模式:当你需要控制对一个对象的访问,或者在访问前后执行某些操作时。

通过使用结构型设计模式,你可以有效地管理和组织类和对象,从而构建出更灵活、更易于维护的系统。这些模式有助于降低系统的复杂度,并提高代码的可读性和可维护性。

相关推荐
BD_Marathon8 小时前
设计模式——合成复用原则
设计模式·合成复用原则
书院门前细致的苹果19 小时前
设计模式大全:单例、工厂模式、策略模式、责任链模式
设计模式·责任链模式·策略模式
BD_Marathon1 天前
设计模式——依赖倒转原则
java·开发语言·设计模式
BD_Marathon1 天前
设计模式——里氏替换原则
java·设计模式·里氏替换原则
jmxwzy1 天前
设计模式总结
设计模式
J_liaty2 天前
23种设计模式一代理模式
设计模式·代理模式
苏渡苇2 天前
优雅应对异常,从“try-catch堆砌”到“设计驱动”
java·后端·设计模式·学习方法·责任链模式
短剑重铸之日2 天前
《设计模式》第十一篇:总结
java·后端·设计模式·总结
feasibility.2 天前
AI 编程助手进阶指南:从 Claude Code 到 OpenCode 的工程化经验总结
人工智能·经验分享·设计模式·自动化·agi·skills·opencode
BD_Marathon2 天前
七大设计原则介绍
设计模式