Java中侵入性与非侵入性讲解
Posted 流楚丶格念
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中侵入性与非侵入性讲解相关的知识,希望对你有一定的参考价值。
概念
侵入性就是让用户代码产生对框架的依赖,这些代码不能直接脱离框架使用,不利于代码的复用。
当你的代码引入了一个组件,从而导致其它代码或者设计,要做相应的更改以适应新组件。这样的情况我们就认为这个新组件具有侵入性。比如struts,我们需要继承一些struts的类,才能实现想要的功能,这就是侵入式。
非侵入性就是引入了框架,对现有的类结构没有影响,不需要实现框架某些接口或者特定的类。
比如Spring,Spring框架是一种非侵入式的轻量级框架,使用spring编写业务逻辑,不需要继承Spring的接口和类,直接通过配置依赖注入就可以使用,将来抛弃spring也比较方便。
实现非侵入式
通过上述说明我们可以发现,非侵入式代码更符合大多业务场景,同时我们代码设计的思路是"高内聚,低耦合",为了实现这个思路,就必须降低代码的侵入性,那么我们如何实现非侵入式的设计目标呢?
可以通过下面几种方法:
- 应用反射机制,通过动态调用的方式来提供各方面的功能,建立核心组间BeanFactory
- 配合使用Spring框架中的BeanWrapper和BeanFactory组件类最终达到对象的实例创建和属性注入
非侵入式优点:
允许所开发出来的应用系统能够在不用的环境中自由移植,不需要修改应用系统中的核心功能实现的代码
以上是关于Java中侵入性与非侵入性讲解的主要内容,如果未能解决你的问题,请参考以下文章