设计模式-结构性模式-structural patterns
[TOC]
Overview
1.结构性模式(Structural Patterns)
结构性模式(Structural Patterns)是软件设计模式的一种,它们主要关注如何将对象和类组装成较大的结构,同时保持结构的灵活和可复用。以下是七种常见的结构性设计模式:
适配器模式(Adapter Pattern):
- 允许对象间的接口不兼容问题得以解决,使得原本因接口不兼容而不能一起工作的类可以一起工作。
装饰器模式(Decorator Pattern):
- 动态地给一个对象添加额外的职责,同时又不改变其结构。装饰器模式提供了一种灵活的替代方案,用于扩展对象的功能。
代理模式(Proxy Pattern):
- 为另一个对象提供一个代替或占位符,以控制对它的访问。代理可以在不改变对象的代码的前提下,增加访问的控制或其他额外功能。
外观模式(Facade Pattern):
- 提供了一个统一的高层接口,用于访问子系统中的一群接口。外观模式定义了一个高层接口,使得子系统更易于使用。
桥接模式(Bridge Pattern):
- 将抽象部分与其实现部分分离,使它们可以独立地变化。桥接模式主要用于把抽象与实现解耦,让它们可以独立地扩展。
组合模式(Composite Pattern):
- 允许你将对象组合成树形结构,以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。
享元模式(Flyweight Pattern):
- 用于减少创建对象的数量,分享细粒度的对象。享元模式通过共享对象来支持大量细粒度对象的高效使用。
结构性模式的应用场景包括但不限于:
- 适配器模式:适用于需要整合具有不同接口的现有子系统或第三方库的场景。
- 装饰器模式:适用于需要动态地给对象添加职责,同时又希望保持类的数量最小化的场景。
- 代理模式:适用于需要控制或延迟对对象的访问,或者需要为对象添加额外的安全控制或延迟初始化的场景。
- 外观模式:适用于需要提供一个简化的接口来访问复杂的类系统或库的场景。
- 桥接模式:适用于需要将一个类层次结构的抽象部分与它的实现部分分离,使它们可以独立变化的场景。
- 组合模式:适用于需要将对象组合成树形结构,并且希望用户对单个对象和组合对象的使用具有一致性的场景。
- 享元模式:适用于需要大量相似对象,而这些对象的创建和销毁成本很高时,通过共享来减少内存占用和提高效率。
结构性模式通过提供灵活的设计方案,帮助开发者构建松耦合、可扩展且易于维护的系统。
关于作者
- 微信公众号:WeSiGJ
- GitHub:https://github.com/wesigj/cplusplusboys
- CSDN:https://blog.csdn.net/wesigj
- 微博:
- 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
