软件设计模式:应用、挑战与解决方案
1. 设计模式简介
设计模式的概念起源于20世纪80年代末和90年代初,它借鉴了建筑设计模式。1994年,Gamma等人所著的书籍引入了23种设计模式,这些模式被分为创建型、结构型和行为型三大类。常见的经典设计模式如下:
- 行为型 :模板方法、观察者、策略
- 结构型 :外观模式、适配器
- 创建型 :单例模式、建造者
设计模式是对常见设计问题的典型解决方案,其目的是让系统更灵活、更具适应性、更模块化且更易理解。例如,观察者模式用于组织包含数据源和多个数据视图的系统,它将数据和视图分离成独立的类层次结构,通过关联表示观察关系。这种模式提高了系统的模块化程度,但可能会降低效率,不过从软件质量和长期维护成本来看,其收益通常大于性能损失。
设计模式与代码习语(如C语言中的标准for循环头)和程序重构(如将子类的属性提升到父类)不同,但在某些情况下,重构可作为引入模式的步骤。
2. 专业设计模式
在识别和制定了大量通用软件模式后,针对特定领域的模式识别工作也随之展开。
| 领域 | 相关模式 |
| ---- | ---- |
| 企业信息系统(EIS) | 前端控制器、拦截过滤器、值对象、数据访问对象等 |
| 面向服务的架构(SOA) | 代理、路由器等 |
| 安全领域 | 访问代理等 |
| 规范和分析阶段 | 场景模式等 |
| 模型转换 | 辅助元模型、分阶段构建等 |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



