使用StructureMap扩展ASP.NET MVC三层架构系列文章总结篇(附源码下载)

本系统提供一个对默认的DOTNET MVC扩展的ASP.NET三层架构,使用了StructureMapEnterprise Library进行依赖注入和异常日志记录处理,面向接口编程在本系统得到了充分的体现。

GIT@OSC项目地址:http://git.oschina.net/tystudio/tystudiomvcdemo

下面是对本系统各个模块实现的详细文章:

  1. 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入1-Model层的实现
  2. 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入2-Repository层的实现
  3. 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入3-Service层的实现
  4. 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入4-Controller和View的实现
  5. 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入5-StructureMap的配置与实现
  6. 扩展ASP.NET MVC三层框架并使用Enterprise Library实现异常与日志记录(6)

本系统基于ASP.NET MVC4,使用了StructureMap实现依赖注入,Enterprise Library实现异常和日志的处理。相应的第三方DLL放在了Commons工程中,数据库使用开源Northwind数据库,Logging和Northwind数据库备份也放到了Commons工程中。

下面看一下最终我们这个框架的完整结构:

mvc-structuremap-enterprise-library

9个工程功能介绍

  1. TYStudioDemo.Commons工程重要放一些公共的类,和一些工具方法。
  2. TYStudioDemo.DTO工程,主要放我们ViewModel,分离View和Entity Framework,降低代码耦合度。
  3. TYStudioDemo.Interfaces工程,统一管理整个框架的接口,所有的接口都在这一工程。
  4. TYStudioDemo.Membership工程,是我们的权限管理模块,可以参考天屹的MVC4 Simplemembership些列文章。
  5. TYStudioDemo.Models工程,这里没有其他的只有Entity Framework,Models层。
  6. TYStudioDemo.Repositories工程,如名字这里放置所有Repository,数据库持久层,只有这一层去和Model层打交道。
  7. TYStudioDemo.Services工程,业务逻辑层所有的业务逻辑都放在这一工程,通过StructureMap实现对Repository的注入,同时异常处理Service也在这里一层,使用Enterprise Library进行异常的日志记录。
  8. TYStudioDemo.StructureMap工程,这里放置的StructureMap的配置与管理。
  9. TYStudioDemo.WebUI工程,UI层,Controller和View都在这一层。

一些说明:

因为是Demo,所以没有写成一个完整的系统,只对Supplier一个表进行了操作,当然考虑到事务的问题,天屹在SupplierService的Create方法中模拟添加了Product表的内容,对本系统中的事务处理做了注释说明。

如果觉得系统还可以,请大家推荐分享一下,让更多的学习MVC的朋友看到,谢谢。

如果有什么问题,不明白的地方,欢迎来到TYStudio,留下你的问题,我们一起解决他们。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>