侵入性与非侵入性

1.软件设计的标准是"高内聚,低耦合"。侵入性强指的是耦合太强了。判断的标准就是当引入了这个组件导致其它代码或者设计要做相应的更改以适应新组件。这样的情况我们就认为这个新组件具有侵入性。

2.侵入性表现为用户代码需要继承框架提供的类。 非侵入性则不需要用户代码引入框架代码的信息,从类的编写者角度来看,察觉不到框架的存在。

3.开发程序的同时,引进的框架。如果在使用该框架时,要继承框架提供的实体类或实现框架提供的接口,这就说明该框架是侵入性框架,因为程序本身对框架有了依赖,当去除框架时,程序也就无法运行,这个也就是我们说的重量级框架,如struts1中,action和actionForm必须要继承Action和ActionForm一样。相反的非侵入性框架是轻量级框架的重要特点,如hibernate和spring,当我们想去掉hibernate和spring框架时,只需修改相应的程序,程序仍可运行。

4.侵入性让用户代码产生对框架的依赖,这些代码不能在框架外使用,不利于代码的复用(缺点)。但侵入性可以使用户跟框架更好的结合,更容易更充分的利用框架提供的功能(优点)。 非侵入性的代码则没有过多的依赖,可以很方便的迁移到其他地方。但是与用户代码互动的方式可能就比较复杂。 这两种方式都有各自的利弊,主要看实际开发时怎么选择了。

欢迎大家积极留言交流学习心得,点赞的人最美丽,谢谢

  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值