面向切面编程和面向接口编程的区别

面向切面编程:手段:分离业务的主逻辑和次逻辑的一种思想。目的:解决的是逻辑分离问题(主逻辑和次逻辑分开,其实主要是分离业务逻辑和非业务逻辑分开)。案例:我们开发项目的时候基本都要去连接数据库操作数据等,但是都会涉及到事务的提交,这时我们就用到了面向切面编程,我们在业务层只写自己的业务...
面向切面编程和面向接口编程的区别
谈谈自己的理解吧:
面向切面编程:
手段:分离业务的主逻辑和次逻辑的一种思想。
目的:解决的是逻辑分离问题(主逻辑和次逻辑分开,其实主要是分离业务逻辑和非业务逻辑分开)。
案例:我们开发项目的时候基本都要去连接数据库操作数据等,但是都会涉及到事务的提交,这时我们就用到了面向切面编程,我们在业务层只写自己的业务逻辑,提交事务这一块统一的动作我们就浓缩到了一块儿统一处理,形象一点比喻就是我们做什么事之前都以一个准备动作或结束动作的时候就把它统一起来,只关注我们要完成的事,这些准备动作统一完成!
类似的面向切面编程案例还有:系统日志的记录、请求的拦截等
面向接口编程:
手段:通过接口规约对象的属性和方法,是面向对象一部分。
目的:统一标准问题,让大家不至于各行其事而对代码的可读性造成影响(公用部分行为)。
案例:其实这个比较好解释,就是有一件事,需要大家去完成,但是给你规定了完成的方式,你只能怎么去做,这时我们当中任何一个人都能去完成这件事,只不过因人而异会有效率和风格的差异,但是都是按照事先的规定来的!比如:让你去给数据库添加一行数据返回受影响的行数,这里大家都去实现接口写SQL,中间可能会有差异,但是最后都得返回一个int类型的受影响行数回来
大体意思就是说:接口给我们规定了完成一个任务的标准,但是具体过程不限制,任何人都能通过遵循的规定去完成这件事!这样扩展性就很强!
个人水平有限,如果不满意请参考:网页链接
2018-01-18
mengvlog 阅读 28 次 更新于 2025-09-09 19:36:17 我来答关注问题0
  • 类似的面向切面编程案例还有:系统日志的记录、请求的拦截等 面向接口编程:手段:通过接口规约对象的属性和方法,是面向对象一部分。目的:统一标准问题,让大家不至于各行其事而对代码的可读性造成影响(公用部分行为)。案例:其实这个比较好解释,就是有一件事,需要大家去完成,但是给你规定了完成的方式...

  •  誉祥祥知识 Spring中的AOP概念

    Spring中的AOP(面向切面编程)是一种通过预编译方式和运行期动态代理实现程序功能统一维护的技术。以下是关于Spring中AOP概念的详细解释:一、AOP的基本概念 AOP是OOP(面向对象编程)的延续,旨在解决OOP在模块化方面的某些局限性。AOP通过分离横切关注点(如日志记录、事务管理、权限控制等)来提高代码的可...

  • 深入理解面向切面编程,关键在于明确其本质而非纠结于概念。面向切面编程(AOP)是一种编程范式,它侧重于通过在程序运行时动态地插入、修改或替换代码,以实现对特定功能的增强或扩展,而无需修改原有代码。这与面向对象编程(OOP)或面向过程编程的主要区别在于其关注点与实现方式。面向切面编程的核心思想...

  •  文暄生活科普 oop aop_oop zhihu_ooa ood oop编程思想

    AOP(面向切面编程)与OOP(面向对象编程)相辅相成,AOP提供了一个全新的编程视角,通过抽象和横向抽取,实现重复逻辑的统一管理,提升代码重用性和复用性。AOP在Spring框架中通过JDK动态代理和CGLib实现,前者要求目标类实现接口,后者无此限制,通过动态生成子类实现代理。JDK代理性能较高,但生成代理性能较低...

  •  宜美生活妙招 尚学堂百战程序员之AOP面向切面编程

    AOP(Aspect Oriented Programming),即面向切面编程,是面向对象编程OOP(Object Oriented Programming)的补充和完善。它通过一种称为“横切”的技术,将那些影响了多个类的公共行为封装到一个可重用模块,即“Aspect”切面中,以减少系统的重复代码,降低模块之间的耦合度,提高系统的可操作性和可维护性。

檬味博客在线解答立即免费咨询

编程相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部