Java中侵入性与非侵入性讲解

Posted 流楚丶格念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中侵入性与非侵入性讲解相关的知识,希望对你有一定的参考价值。

概念

侵入性就是让用户代码产生对框架的依赖,这些代码不能直接脱离框架使用,不利于代码的复用

当你的代码引入了一个组件,从而导致其它代码或者设计,要做相应的更改以适应新组件。这样的情况我们就认为这个新组件具有侵入性。比如struts,我们需要继承一些struts的类,才能实现想要的功能,这就是侵入式。

非侵入性就是引入了框架,对现有的类结构没有影响,不需要实现框架某些接口或者特定的类

比如Spring,Spring框架是一种非侵入式的轻量级框架,使用spring编写业务逻辑,不需要继承Spring的接口和类,直接通过配置依赖注入就可以使用,将来抛弃spring也比较方便。

实现非侵入式

通过上述说明我们可以发现,非侵入式代码更符合大多业务场景,同时我们代码设计的思路是"高内聚,低耦合",为了实现这个思路,就必须降低代码的侵入性,那么我们如何实现非侵入式的设计目标呢?

可以通过下面几种方法:

  1. 应用反射机制,通过动态调用的方式来提供各方面的功能,建立核心组间BeanFactory
  2. 配合使用Spring框架中的BeanWrapper和BeanFactory组件类最终达到对象的实例创建和属性注入

非侵入式优点:

允许所开发出来的应用系统能够在不用的环境中自由移植,不需要修改应用系统中的核心功能实现的代码

以上是关于Java中侵入性与非侵入性讲解的主要内容,如果未能解决你的问题,请参考以下文章

x86 上 Java 的最小侵入性编译障碍

Windbg非侵入性调试(用户模式)

我可以在提升侵入性列表中使用双端队列项目吗

spring中依赖注入的原理

Spring框架学习IOC学习

A社绅士大作《夏娃年代记2》上架Steam 侵入性治疗