Controller与Model的分离
在第章ASPNET + MVC中我们谈到过ASPNET MVC是基于MVC的变体Model设计的ASPNET MVC所谓的Model仅仅表示绑定到View上的数据我们一般称之为View Model而真正的Model一般意义上指维护应用状态和提供业务功能操作的领域模型或者是针对业务层的入口或者业务服务的代理真正的MVC在ASPNET MVC中的体现如图所示
图 ASPNET MVC + Model
对于一个ASPNET MVC应用来说用户交互请求直接发送给Controller如果涉及针对某项业务功能的调用Controller会直接调用Model如果需要呈现业务数据Controller会通过Model获取相应业务数据并转换成View Model最终通过View呈现出来这样的交互协议方式反映了Controller针对Model的直接依赖
如果我们在Controller激活系统中引入IoC并采用IoC的方式提供用于处理请求的Controller对象那么Controller和Model之间的依赖程度在很大程度上被降低了甚至可以像图所示的一样以接口的方式对Model进行抽象让Controller依赖于这个抽象化的Model接口而不是具体的Model实现
图 ASPNET MVC + IModel +Model
返回目录ASPNET MVC 框架揭秘
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
Java程序性能优化让你的Java程序更快更稳定
Visual C++音频/视频技术开发与实战