05.依赖注入优先于硬连接资源

本文探讨了《Effective Java》中提到的依赖注入优于硬连接资源的观点。通过拼音检查器的例子,解释了硬连接资源的局限性,并展示了如何通过静态方法、单例以及依赖注入来实现资源依赖。最后强调依赖注入带来的灵活性、可测试性,尽管大型项目中可能会面临依赖管理的挑战,但Spring框架可以帮助解决这一问题。
摘要由CSDN通过智能技术生成
前言

《Effective Java》中文第三版,是一本关于Java基础的书,这本书不止一次有人推荐我看。其中包括我很喜欢的博客园博主五月的仓颉,他曾在自己的博文《给Java程序猿们推荐一些值得一看的好书》中也推荐过。加深自己的记忆,同时向优秀的人看齐,决定在看完每一章之后,都写一篇随笔。如果有写的不对的地方、表述的不清楚的地方、或者其他建议,希望您能够留言指正,谢谢。

《Effective Java》中文第三版在线阅读链接

是什么

硬连接资源,我们可以理解为,一个类,依赖其它基础类,但是过于理想化,指定了它只连接一个基础类。例如我们有一个工具类:拼音检查器,它可以检查拼音是否正确,那么我们的字典里是有所有拼音的,可以给我们提供一个基础的检查数据,当我们用硬连接资源的方式去思考时,这个拼音检查器的基础数据只由《新华字典》提供。是不是感觉这是不合理的,因为每种语言都有自己的字典,数据只由《新华字典》来提供的话,感觉是不灵活,并且单一的。

哪里用

当一个类依赖一个或其他多个底部资源类的时候,我们可以考虑使用依赖注入优先于硬连接资源。

怎么实现

我们使用一个字典检查的工具类来进行实例。

  • 使用静态方法来替代硬连接资源,这种方式是不灵活,并且不能够测试的。代码实现如下:
/**
 * 通过静态方法来替代硬资源连接
 *
 * @author gongguowei01@gmail.com
 * @since 2020-01-12
 */
public class SpellChecker {
   

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值