软件编程范式:从 OOP 到 AOP 的演进
1. 软件开发的发展历程
软件开发自使用切换开关的时代以来已经取得了长足的进步。当人们认识到软件开发的实用性后,其发展就与寻找更有效地对现实世界问题进行建模的技术紧密相连。过去,解决问题的常见方法是将其分解为越来越小的功能模块,每个模块由十几行或更多的代码组成。然而,这种方法存在一个问题,即系统状态由大量全局变量控制,而这些变量可以被应用程序中的任何代码行修改。
面向对象方法的出现将系统状态封装到各个对象中,使其可以被设为私有,并通过访问方法和逻辑进行控制。但即便如此,开发者在将问题完全表达为模块化和封装化的模型时仍然面临困难。虽然将问题分解为对象是合理的,但有些功能必须在对象之间共享。面向切面编程(AOP)是解决创建简洁、封装良好且无多余功能对象问题的最有前途的解决方案之一。
2. 面向对象编程(OOP)的贡献
2.1 OOP 的优势
面向对象分析、设计和编程(OOADP)已经不再是新技术,它在小型和大型项目中都已被证明是成功的。使用 OOP 而非功能分解技术极大地改善了软件的状态,其在软件开发过程的各个阶段具有多种优势:
- 组件可重用性
- 模块化
- 实现复杂度降低
- 维护成本降低
其中,模块化是相对于结构化编程的一项普遍进步,它使软件更加清晰易懂。
2.2 OOADP 对计算机科学的影响
面向对象方法为计算机科学带来了一种更贴近现实世界系统设想的软件建模和设计能力。主要的建模工具是对象,对象是问题领域中主要组件的表示,具有代表对象状态的属性和改变对象状态的行为。
超级会员免费看
订阅专栏 解锁全文
18

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



