开发学院
提供最新编程基础教程,涵盖HTML、CSS、JS、PHP、MySQL等技术。
结构型模式关注类和对象的组合,通过继承或组合方式构建更大结构,同时保持灵活性。本页面系统解析7种经典结构型模式。
| 模式名称 | 核心思想 | 典型应用场景 |
|---|---|---|
| 适配器 | 将不兼容接口转换为目标接口 | 旧系统与新接口集成 |
| 桥接 | 抽象与实现分离,独立变化 | 跨平台图形渲染 |
| 组合 | 树形结构统一处理个体与集合 | 文件系统、UI组件树 |
| 装饰 | 动态扩展对象功能 | 流处理、权限增强 |
| 外观 | 为子系统提供统一入口 | 复杂库的简化接口 |
| 享元 | 共享细粒度对象节省内存 | 文字编辑器字符渲染 |
| 代理 | 控制对象访问权限 | 延迟加载、访问控制 |
# 旧系统接口
class LegacyPrinter:
def print_old(self, text):
return f"Legacy: {text}"
# 新系统需要的接口
class ModernPrinter:
def print_new(self, text):
return f"Modern: {text}"
# 适配器
class PrinterAdapter(ModernPrinter):
def __init__(self, legacy):
self.legacy = legacy
def print_new(self, text):
return self.legacy.print_old(text)
分离抽象与实现,避免类爆炸:
from functools import wraps
def timing_decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
print(f"耗时: {time.time()-start:.2f}s")
return result
return wrapper
本站小宇宙导航提供的结构型模式都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由小宇宙导航实际控制,在2026年7月5日 下午4:36收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,小宇宙导航不承担任何责任。