加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘孜站长网 (https://www.0836zz.com.cn/)- 运维、物联设备、数据计算、智能推荐、云管理!
当前位置: 首页 > 站长资讯 > 动态 > 正文

刷新你对音视频的认知!

发布时间:2021-02-17 14:53:58 所属栏目:动态 来源:互联网
导读:果询问首席信息官,他们会有其他理由考虑采用私有云和混合多云架构。他们将围绕公共云成本的可变性、长期支持原有系统的需要,以及数据中心长期合同的现实提供理论依据。与公共云架构相比,许多企业首席信息官在管理数据中心方面有着更强的实践,并希望避免

果询问首席信息官,他们会有其他理由考虑采用私有云和混合多云架构。他们将围绕公共云成本的可变性、长期支持原有系统的需要,以及数据中心长期合同的现实提供理论依据。与公共云架构相比,许多企业首席信息官在管理数据中心方面有着更强的实践,并希望避免陷入公共云供应商锁定的困境。

大公司在业务转型时并不像中小企业那样快,首席信息官必须考虑根据业务影响和实现价值的时间确定优先级,以实现应用程序现代化。正如CTO Advisor公司联合创始人Keith Townsend在推特上所说:“企业将其所有的Oracle应用程序转移到Amazon RDS上,还是利用这些人才为不同的业务计划创建新的应用程序?现在的问题是,这些都是相同的资源。”

如果询问软件开发人员,就会发现许多人更喜欢构建部署公共云,并利用无服务器架构的应用程序。他们可以使用持续集成(CI) /持续交付(CD)自动化应用程序部署,使用IaC配置基础设施,并将底层基础设施支持留给公共云供应商和其他云原生托管服务提供商。

 

AOP是OOP(Object Oriented Programming,面向对象编程)的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。

利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对我们的已有方法进行增强。

AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码

AOP 技术利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。

使用"横切"技术,AOP 把软件系统分为两个部分:核心关注点和横切关注点。

业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。

横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处基本相似,比如权限认证、日志、事物。

AOP 的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。

AOP 核心就是切面,它将多个类的通用行为封装成可重用的模块,该模块含有一组 API 提供横切功能。比如,一个日志模块可以被称作日志的 AOP 切面。根据需求的不同,一个应用程序可以有若干切面。在 Spring AOP 中,切面通过带有@Aspect 注解的类实现。

经典应用:事务管理、性能监视、安全检查、缓存 、日志等

AOP的实现方式?

aop底层采用代理机制进行实现。

  •  接口 + 实现类:spring采用 jdk 的动态代理Proxy。
  •  实现类:spring 采用 cglib字节码增强。

AOP中有哪些概念?

①Joinpoint( 连接点):被拦截到的点。在 spring 中,这些点指的是方法,因为 spring 只支持方法类型的连接点。

②Pointcut( 切入点):要对哪些 Joinpoint 进行拦截,即被增强的连接点。

③Advice( 通知/ 增强):拦截到 Joinpoint 之后所要做的事情,及增强代码。

④Introduction(引介):引介是一种特殊的通知在不修改类代码的前提下, Introduction 可以在运行期为类动态地添加一些方法或 Field。

⑤Target(目标对象):目标类,需要被代理的类

⑥Weaving(织入):是指把增强应用到目标对象来创建新的代理对象的过程。spring 采用动态代理织入,而 AspectJ 采用编译期织入和类装载期织入。

⑦Proxy(代理):代理类,一个类被 AOP 织入增强后,就产生一个结果代理类。

⑧Aspect( 切面):是切入点和通知(引介)的结合。

在Spring中怎么定义类的作用域?

当定义一个<bean> 在 Spring 里,可以给这个 bean 声明一个作用域。它可以通过 bean 定义中的 scope 属性来定义。

当 Spring 要在需要的时候每次生产一个新的 bean 实例,bean 的 scope 属性被指定为 prototype。

一个 bean 每次使用的时候必须返回同一个实例,这个 bean 的 scope 属性被指定为 singleton。


 

(编辑:甘孜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读