首页 > 编程语言 >面向切面编程和面向接口编程的区别

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

时间:2023-06-01 22:32:10浏览次数:31  
标签:逻辑 编程 接口 面向 完成 切面


面向切面编程:

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

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

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

 

面向接口编程:

手段:通过接口规约对象的属性和方法,是面向对象一部分。
目的:统一标准问题,让大家不至于各行其事而对代码的可读性造成影响(公用部分行为)。

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

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

标签:逻辑,编程,接口,面向,完成,切面
From: https://blog.51cto.com/u_14671216/6398515

相关文章

  • 曲线艺术编程 coding curves 第二章 三角函数曲线(TRIG CURVES)
    第二章三角函数曲线(TRIGCURVES)原作:KeithPeters原文:https://www.bit-101.com/blog/2022/11/coding-curves/译者:池中物王二狗(sheldon)blog:http://cnblogs.com/willian/源码:github:https://github.com/willian12345/coding-curves曲线艺术编程系列第二章这是与曲线......
  • 编程语言中的编码知识
    序论在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。ASCII......
  • 2016-05-05就加入博客园的我,直到23年5月才开始真正的学习编程
    去年从工作4年的上家公司离职后,发现自己连工作都找不到,浑浑噩噩一点点把手里的钱全部用完了,发现自己一无所有,看着2016第一篇随笔上的加油,是多么的讽刺开始后悔,开始回忆自己的过往,想起初中时对游戏外挂的幻想,想起高二的那一天找到了脚本之家,找到了一本编程的书籍,写了人生中第一个C......
  • 去往js函数式编程(5)
    日志记录  我们可以写一个高阶函数,它以两个函数作为参数,并允许第一个函数只能执行一次,从那一点开始调用第二个函数。constonceAndAfter=(f,g)=>{lettoCall=freturn(...args)=>{letresult=toCall(...args)toCall=greturnresult}}......
  • 分布式队列编程:模型、实战
    介绍作为一种基础的抽象数据结构,队列被广泛应用在各类编程中。大数据时代对跨进程、跨机器的通讯提出了更高的要求,和以往相比,分布式队列编程的运用几乎已无处不在。但是,这种常见的基础性的事物往往容易被忽视,使用者往往会忽视两点:使用分布式队列的时候,没有意识到它是队列。有具体需......
  • 分布式队列编程优化篇
    前言“分布式队列编程”是一个系列文,之前我们已经发布了《分布式队列编程模型、实战》,主要剖析了分布式队列编程模型的需求来源、定义、结构以及其变化多样性;根据作者在新美大实际工作经验,给出了队列式编程在分布式环境下的一些具体应用。本文将重点阐述工程师运用分布式队列编程构......
  • shader编程经典:分形--科赫曲线
    序言科赫(雪花)曲线是一个经典分形图案,来一起领略下分形之美。本篇内容用到一些基础的内容,例如UV的理解和画线技巧,有需要的话可以参考合集的画圆和画线两篇文章。示例shadertoy代码:#defineT.01voidmainImage(outvec4fragColor,invec2fragCoord){vec2uv=(......
  • java中函数式编程的一些测试
    目录Java中函数式编程的一些测试树反转数据处理科里化Optional函数组合全部代码Java中函数式编程的一些测试在上一篇文章中,提及了java中的函数式编程,但缺少了一些相关的代码,这里补充一下.注意,本文中的代码并不代表最佳实践,只是提供一种思路,其中有很多代码并没有实......
  • 规则引擎的低代码日记——自定义函数编程操作(类excel函数)
    它是技术源码可开放的JAVA规则引擎,采用springcloud+VUE的技术架构进行构建,其中对数据的灵活加工处理采用的是函数式编程的思路(类excel函数配置),是其亮点功能。它允许开发人员定义和管理应用程序的规则,并在应用程序中执行这些规则。在规则引擎中,从数据加工成变量并使用函数式编程......
  • 基于Python的混合语言编程
    在基于Python的混合语言编程时,我们可以使用Python与其他编程语言的交互性能,结合各语言的优势,达到更加高效的开发效果。下面是一些常见的实现方案。基于Python的混合语言编程指的是在Python程序中调用其他编程语言的库或函数,并与Python代码进行交互。这个过程需要使用"Cython"(C-E......