public interface IAnimal
{
void doSomeThing();
}
//有好多个IAnimal接口的实现
//这里就不列举了
public class HomeController
{
private readonly IAnimal _animal;
public Dog()
{
IAnimal animal;
animal=_animal;
}
//......
//......
}
1
puncsky 2015-05-19 01:48:27 +08:00
方便之处在于,
1. 传递同一类对象。你自己也说了,只要是IAnimal,无论是DI也好,new也好,无论是单个animal还是一群animal都可以同过这个 IAnimal 从别处传递过来。否则一堆相似的类传进来,用不同的类型接,很冗余。 2. 对同一类对象执行同样的操作 e.g. foreach loop, foreach(IAnimal a in animals) { a.doSomething(); } 这样就省去了一堆相似的类却要写好多个 foreach loop |