EA 框架设计模式与面向对象编程解析
1. 常见设计模式概述
在软件开发中,为了高效实现常见功能,我们会用到一些设计模式。首先,常见的有MVC、委托、单例和通知等模式,在之前的 iPhone 应用开发中,大家或许对此有所了解。这里我们重点关注这些模式在 EAAccessory 框架中的应用。
在回顾这些标准设计模式后,还有一种被称为 EA 模式的设计方式。EA 模式其实就是以结构化的形式明智地运用常见的 Cocoa 模式。可以把它类比为框架和库的关系,框架是一种包含库和其他元素的层次结构,而 EA 模式则是将低级设计模式组织成自己的层次结构。
2. 面向对象编程与函数式编程对比
在探讨设计模式时,不能不提及它的前身——面向对象编程(OOP),我们需要了解 OOP 是什么,以及它与过去的函数式编程有何不同。
在 OOP 出现之前,程序员解决问题的步骤如下表所示:
| 操作内容 | 术语表述 |
| ---- | ---- |
| 审视问题 | 系统分析 |
| 将问题分解为组成部分 | 功能分解 |
| 构建各部分组合的架构 | 系统设计或系统架构 |
| 实现各个部分 | 单元编码与测试 |
| 整合所有部分 | 系统集成与测试 |
这种流程在开始时效果不错,但一旦设计需要更改,问题就会接踵而至。以打印机制造商的编程案例来说,程序员 John 设计并实现了一个将完成组装的打印机从装配区运送到发货区的计算机系统。起初,项目取得了成功,生产线的生产率得到了提高。
然而,两年后,公司推出了新的打印机型号,且新打印机为激光打印机,与旧的