面向切面编程:

手段:分离业务的主逻辑和次逻辑的一种思想。

目的:解决的是逻辑分离问题(主逻辑和次逻辑分开,其实主要是分离业务逻辑和非业务逻辑分开)。

案例:我们开发项目的时候基本都要去连接数据库操作数据等,但是都会涉及到事务的提交,这时我们就用到了面向切面编程,我们在业务层只写自己的业务逻辑,提交事务这一块统一的动作我们就浓缩到了一块儿统一处理,形象一点比喻就是我们做什么事之前都以一个准备动作或结束动作的时候就把它统一起来,只关注我们要完成的事,这些准备动作统一完成!

类似的面向切面编程案例还有:系统日志的记录、请求的拦截等

面向接口编程:

手段:通过接口规约对象的属性和方法,是面向对象一部分。

目的:统一标准问题,让大家不至于各行其事而对代码的可读性造成影响(公用部分行为)。

案例:其实这个比较好解释,就是有一件事,需要大家去完成,但是给你规定了完成的方式,你只能怎么去做,这时我们当中任何一个人都能去完成这件事,只不过因人而异会有效率和风格的差异,但是都是按照事先的规定来的!比如:让你去给数据库添加一行数据返回受影响的行数,这里大家都去实现接口写SQL,中间可能会有差异,但是最后都得返回一个int类型的受影响行数回来

大体意思就是说:接口给我们规定了完成一个任务的标准,但是具体过程不限制,任何人都能通过遵循的规定去完成这件事!这样扩展性就很强

面向切面编程和面向接口编程的区别相关推荐

  1. 问题小结(二)——maven的核心功能、面向对象编程和面向接口编程的区别、抽象类和接口的区别等

    文章目录 1. Java创建对象有哪四种方式? 2. 什么是maven?maven的核心功能有哪些? 3. 什么是MVC?说说分层的好处. 4. Spring的两大核心技术是什么? 5. 什么是IOC ...

  2. 面向对象编程和面向接口编程的区别

    随记 说实话,没有一定编程基础,这两个还真的是很难懂,因为对于IT编程思想很重要,如果有了编程思想,这两个的区别就很好理解了. 1.面向对象编程: 首先java就是面向对象编程,所谓在java中万事万 ...

  3. 【Spring】AOP面向切面编程(Spring4和Spring5区别)

    AOP 1. 什么是AOP 2. AOP常用注解 3.Spring4各种通知的执行节点 4. 在aop中校验不通过如何不让程序进入核心代码? 5. 同一个方法被多个Aspect类拦截 5.1 如何指定 ...

  4. spring中AOP(面向切面编程)

    spring中AOP(面向切面编程) 面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开发中的一个热点,也是spring框架中的一个重要内容 ...

  5. Spring AOP——Spring 中面向切面编程

    前面两篇文章记录了 Spring IOC 的相关知识,本文记录 Spring 中的另一特性 AOP 相关知识. 部分参考资料: <Spring实战(第4版)> <轻量级 JavaEE ...

  6. Spring in Action 入门之面向切面编程AOP

    注明:这篇文章一是当成学习笔记,二是给大家提供另一个快速理解学习Spring的参考.欢迎留言讨论,持续更新中~ (该部分是Spring的面向切面编程AOP) 第四章 通知Bean 在软件编程中,散布于 ...

  7. Spring aop面向切面编程概述

    aop概述 1.AOP为Aspect Oriented Programming的缩写,意为:面向切面编程.将程序中公用代码进行抽离,通过动态代理实现程序功能的统一维护的一种技术.使代码耦合性降低,提高 ...

  8. AOP (面向切面编程)

    AOP (面向切面编程) 编辑 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AO ...

  9. java springboot aop_Spring Boot实战系列(3)AOP面向切面编程

    AOP是一种与语言无关的程序思想.编程范式.项目业务逻辑中,将通用的模块以水平切割的方式进行分离统一处理,常用于日志.权限控制.异常处理等业务中. 快速导航 编程范式主要以下几大类 AOP(Aspec ...

最新文章

  1. 使用未编译的XAML动态生成WPF控件
  2. SQL SERVER SQLOS的任务调度--微软亚太区数据库技术支持组 官方博客
  3. npm出错的解决方案
  4. 看完就能知道渗透测试的技术结构
  5. 进击的docker 二 : docker 快速入门
  6. redis win连接以及配置连接密码
  7. Flutter布局锦囊---完善信息页
  8. 我对敏捷的理解:实施敏捷的前提
  9. Centos删除virbr0网卡
  10. python怎么使用自定义停用词_pyhanlp 停用词与用户自定义词典功能详解
  11. 分位数(理解层面解答)
  12. 游戏开发核心技术之-存档与读档(1)
  13. L - New Year Snowmen
  14. matlab外推法确定搜索区间的程序,《机械优化设计》复习题
  15. zlog日志系统开发中遇到的问题(2)
  16. Git介绍及常用操作演示(一)--技术流ken
  17. 国外热度高的域名有哪些类?
  18. 【NLP】第7章 使用 GPT-3 引擎的Suprahuman Transformers的崛起
  19. 惯性效应与反转效应——tushare实验
  20. 最受欢迎的Google Docs插件

热门文章

  1. 【OS xv6】1 万字详解shell源码解析命令(内含wsl+vscode调试xv6教程 文档第一章助读)
  2. PCIe之DMA (一)
  3. 2022年二级建造师-机电实务经典试题及答案
  4. python软件界面翻译_python英汉词典,在线翻译器,带GUI界面下载
  5. 普贴趣标签打印机常见问题汇总
  6. CSS字体和图标字体
  7. 重启天涯,一场关于 “救命” 的直播
  8. element ui table 中加下拉菜单
  9. 马赛克(Mosaic)拼图
  10. Hibernate 常用方法