
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 |