结构型模式
大约 2 分钟
结构型设计模式
结构型设计模式是一组用于组织类和对象之间关系的设计模式,它们通常用于提高代码的可维护性、可扩展性和可重用性。结构型设计模式分为
类结构型模式
和对象结构型模式
。
其中:
类结构型模式
关注类之间的组合,例如装饰器模式、适配器模式、代理模式等;而对象结构型模式
关注对象之间的组合,例如组合模式、享元模式等。类结构型模式
更侧重于对象之间的静态关系,即在编译时期已经确定相关类之间的关系,而对象结构型模式
更侧重于对象之间的动态关系,即在运行时期可以动态添加或移除对象。类结构型模式
的使用场景更为广泛,适用于不同的问题领域;而对象结构型模式
更加专注于一些具体的问题场景。
相同点
- 都可以用于组织和组合类之间的关系;
- 在代码中提供了高度模块化的方式,便于代码的重用和维护;
- 通过组合、代理、继承等方式,可以更加灵活地设计类的层次结构;
- 可以降低系统的复杂度,提高代码的可读性和可维护性。
不同点
- 代理模式旨在控制对对象的访问,为使用者提供简化的接口,同时也可以提升对象的访问效率;
- 适配器模式旨在将不同对象之间的接口协调起来,使它们能够协同工作;
- 桥接模式旨在将类的抽象和实现分离出来,使得两者可以独立地变化;
- 装饰器模式旨在动态地添加类的额外行为,而无需修改类的接口和实现;
- 外观模式旨在将一组紧密相关的类中的复杂逻辑抽象出来,提供一个简单的接口给使用者;
- 享元模式旨在共享多个具有相同状态的对象,以减少内存的占用。