POP——面向过程编程
概念:POP为Process Oriented Programming的缩写,意为面向过程的,以过程为中心的编程思想。强调的是系统数据被分析处理和加工的过程。
分析出解决问题所需要的步骤然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以。
OOP——面向对象编程
概念:OOP为Object Oriented Programming的缩写,意为面向对象编程,强调的是整体性,以对象为中心,其行为与属性构成一个整体,在编程组织中,对象的属性与方法不再像面向过程那样分开存放,而是视为一个整体。
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。面向对象的分析方法是利用面向对象的信息建模概念,如实体、关系、属性等,同时运用封装、继承、多态等机制来构造模拟现实系统的方法
AOP——面向切面编程
概念:AOP为Aspect Oriented Programming的缩写,意为面向切面编程,主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。
主要体现在日志记录、事务处理、异常处理、安全控制和性能统计等方面。在Spring中提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务和事务进行内聚性的开发。
三者之间的联系
面向过程(POP):性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源。
面向对象(OOP):优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护。
面向切面(AOP):与面向对象之间是一个相互补充和完善的关系。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。