摘要: Spring.NET 阅读全文
posted @ 2011-10-16 22:25 GuYoung 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 架构模式IoC 阅读全文
posted @ 2011-10-16 22:22 GuYoung 阅读(272) 评论(0) 推荐(0) 编辑
摘要: ControllerFactory ControllerFactory是基于路由的组件,它选择正确的controller并对其实例化。default factory会查找实现了IController并且以Controller结尾的类,然后通过反射使用无参构造函数进行实例化。 但如果您希望使用依赖注入,就不能再使用default factory,而必须使用支持IoC的controller factory。 使用支持IoC(依赖注入)的controller factory, 优点在于松耦合,可测试性很好。如果在Controller里面想要使用某些Service,要么new出来,要么用单例的形式,如UserService.Instance,这样想对Controller写单元测试都不容易,它和这些Service耦合太紧密,无法将这些Service替换成Stub实现。因此,松耦合是必须的。要实现这个功能,必须让依赖注入框架来创建Controller,才有可能注入依赖并组装对象。MVC里面有一个ControllerFactory的东西,可以使用来达到这个目的。 阅读全文
posted @ 2011-10-16 22:19 GuYoung 阅读(1330) 评论(0) 推荐(1) 编辑
摘要: IoC(Inversion of Control,控制反转) IoC别名DI(Dependency Injection,依赖注入)。Spring将IoC和DI看作等同的概念。 IoC是一种架构模式。 IoC其原理是基于OO设计原则的The Hollywood Principle(好莱坞原则):Don't call us, we'll call you(你不用找我们,我们会找你的),就是由容器来控制业务对象之间的依赖关系,而非传统实现中,由代码直接操控,这也就是所谓“控制反转”的概念所在,控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。控制权的转移带来的好处就是降低了业务对象之间的依赖程度。 Spring.NET Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序。它提供了很多方面的功能,比如依赖注入、面向方面编程(AOP)、数据访问抽象及ASP.NET扩展等等。Spring.NET以Java版的Spring框架为基础,将Spring.Java的核心概念与思想移植到了.NET平台上。 阅读全文
posted @ 2011-10-16 15:30 GuYoung 阅读(1868) 评论(1) 推荐(1) 编辑