最近几天在看一本名为DependencyInjectionin.NET的书,主要讲了什么是依赖注入,使用依赖注入的优点,以及.NET平台上依赖注入的各种框架和用法。在这本书的开头,讲述了软件工程中的一个重要的理念就是关注分离(Separationofconcern,SoC)。依赖注入不是目的,它是一系列工具和手段,最终的目的是帮助我们开发出松散耦合(loosecoupled)、可维护、可测试的代码和程序。这条原则的做法是大家熟知的面向接口,或者说是面向抽象编程。关于什么是依赖注入,在StackOverflow上面有一个问题,如何向一个5岁的小孩解释依赖注入,其中得分最高的一个答案是:“When