从针对接口编程到依赖注入2011-06-23 博客园 kumaws1.概况说明2.猫狗大战举例3.说明为什么要针对接口编程,优点4.说明为什么要“依赖抽象,不要依赖具体类”5.说明“依赖倒置”与抽象工厂模式6.说明“将组件的配置与使用分离”7.简单说明依赖注入8.讲解petshop依赖注入与它的工厂模式9.讲解TheBeerHouse依赖注入形式10.几个.Net的依赖注入容器11.取舍与适用概况说明现在在各种技术站点、书籍文章上,都能看到IoC容器、控制反转、依赖注入的字眼,而且还会有一些专门实现这些功能的开发工具:Spring.net、 Castal Windsor、Unity等等。那么这种技术是如何演变而来的?它的适用场景是哪里?我们该不该学习并掌握这门技术?下面我会根据我个人的理解与搜集来的材料做出一些解释。猫狗大战举例我现在要做一个猫狗大战的游戏,系统内部采用了标准的OO技术,先设计了一个狗狗的抽象类。public abstract class Dog
{
public void Run();
public void Jump();
public void Bay();
public abstract void Display();
}
假设游戏中每个狗狗跑的速度、跳的高度、叫的音量都是相同的,那么唯一不同的就是外貌了,所以 Display()是抽象的。public class Poodle:Dog
{
public override void Display()
{
//我是狮子狗
}
}
public class Dachshund:Dog
{
public override void Display()
{
//我是腊肠狗
}
}
//其他狗狗.