为什么使用Spring IOC、AOP

为什么使用Spring IOC、AOP

为什么使用IOC

参考https://www.cnblogs.com/Leo_wl/archive/2013/03/18/2966983.html
举个例子,比如一段代码需要读入一些电影数据进行筛选等操作,那这段代码实现的功能主体只是进行筛选过滤这样的操作,写在Service层中。
电影数据可以从本地文件中获取,也可以从数据库中读取,需要为这两种方式分别建一个类FileMovie和DatabaseMovie,在Service层获取数据时,按照惯例会写死代码(new FileMovie或new DatabaseMovie),当需求出现变更的时候,则需要修改源代码,这种方式的代码耦合性高,Service层应该更多地关注于业务代码而不需多关注数据来源。
如果定义一个获取数据的接口DataInterface,从本地和从数据库获取数据的类都实现这个接口,Service中获取数据都从这个接口来获取,而具体使用哪个数据源在另外的地方进行调配,这就实现了一个简易的IOC,降低了代码的耦合度。

为什么使用AOP

AOP意为面向切面编程,它可将日志、权限控制等功能单独拿出来作为一个模块,把需要加入日志、权限控制的方法作为切点,使用动态代理的方式进行功能的添加,相比将日志、权限空值功能写在代码结构中,AOP降低了代码的耦合度、提高了代码的复用性。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值