《面向对象分析与设计》 ——“Jolt大奖精选丛书”有奖征文

除了面向对象OO,还有面向过程和面向方面(切面)AO。

它们作为软件编程思想出现的先后顺序是,面向过程->面向对象->面向切面,代表性的语言或框架分别为C->Java/C#->Spring

 

面向对象作者说了很多,就不再赘诉了。下面介绍一下面向过程和面向切面。

 

面向过程 ,是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。
就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想.可以说面向过程是一种基础的方法.它考虑的是实际的实现.一般的面向过程是从上往下步步求精.所以面向过程最重要的是模块化的思想方法.对比面向对象,面向对象的方法主要是把事物给对象化,对象包括属性与行为.当程序规模不是很大时,面向过程的方法还会体现出一种优势,因为程序的流程很清楚,按着模块与函数的方法可以很好的组织。

 

面向切面 (Aspect Oriented)最初被翻译为“面向方面”,这个翻译向来为人所诟病,但是由于先入为主的效应,受众广泛,所以这个翻译依然被很多人使用,但我更喜欢“面向切面”的译法,因为更贴切。

AO是软件开发思想发展到一定阶段的产物,但AO的出现并不是要完全代替OO,而仅仅是作为OO的有益补充。AO应用场合是受限的,它一般只适合于那些具有横切逻辑的应用场合:如性能监测、访问控制、事务管理以及日志记录等。

AO主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。

你可能感兴趣的:(面向对象)