如何理解POP,OOP,AOP之间的关系
面向过程编程(POP)
以“怎么做”为中心,完成任务的具体细节。即将任务分成小步骤,用小函数来实现小步骤,然后用主函数调用这些小函数。
比如:走路这个任务
就可能有人走路,猫走路,狗走路等等
按照面向过程的方法:每个函数里面都含有一个走路的方法。
面向对象编程(OOP)
以“谁来做”为中心,完成任务的对象。
针对上面的例子:可以看出它们都有一个共同特性走路,只是对象不同,这样子我们就可以把关注点放在对象上来。对于维护就轻松点了。降低了耦合性。
面向对象的三大特性:继承、封装、多态。实现了复用,避免了代码冗余的情况。
面向切面编程(AOP)
切面就是一些辅助方法(日志,事务),面向切面就是将切面进行提取,没有也不会影响到核心方法,降低与核心方法的耦合性。
POP,OOP,AOP之间的联系
面向过程(pop):
性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源。
面向对象(oop):
易维护、易复用、易扩展,由于面向对象有继承,封装,多态性的特性,可以设计出低耦合的系统,使系统更灵活,更易于维护。
面向切面:
与面向对象之间是一个相互补重完善的关系。利用AOP可以对业务逻辑各部分进行隔离。从而使得业务逻辑各部分之间的耦合度减低,提高程序的可重用性,同时提高了开发的效率。