对IOC大彻大悟了--写在阅读一些IOC文章之后

本文探讨了面向接口编程的概念及其重要性,并介绍了如何通过依赖注入来实现类之间的解耦。文章强调了接口驱动设计的好处,包括提高代码的灵活性、稳定性和健壮性。

Eric" Gamma说,要面向抽象编程。面向接口编程是面向对象的核心。防止 “everything depends on everything” 问题,即具体依赖于具体。

从GoF设计模式中,我们已经习惯一种思维编程方式:Interface Driven Design 接口驱动,接口驱动有很多好处,可以提供不同灵活的子类实现,增加代码稳定
和健壮性等等,但是接口最终还是需要实现的,也就是如下语句迟早要执行:AInterface a = new AInterfaceImp();

思考至此,我似乎有点大彻大悟:2个类之间如果有依赖关系,总需要在代码里表现出来。各种先进的思想比如IOC要做的只是转移这些依赖关系到一个第三方的地方,从而使得2个类对彼此的存在全不知情,从而彻底解耦了2个类的实现,使得各自的实现里谁也不依赖谁。到了runtime,由一个第三方的类比如一个container在某个时间点上调用体现2个类依赖关系的代码(比如:Boy boy = new ChinaBoy(); Girl girl = new ChinaGirl(boy)),从高度抽象的角度看,即实现了类之间关系的“依赖注入”。

有时间学学Spring框架。

转载于:https://www.cnblogs.com/taoxu0903/archive/2008/04/18/1160395.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值