[转载]使用StructureMap扩展ASP.NET MVC三层结构框架系列文章总结篇(附源码下载) - 天屹 - 博客园

[转载]使用StructureMap扩展ASP.NET MVC三层结构框架系列文章总结篇(附源码下载) – 天屹 – 博客园.

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

天屹不推荐直接下载代码,进行Copy and Paste,我们不是Coder而是Developer。希望这个代码可以作为你学习这个框架时的一个参考,而不是拿去就用。系统源码下载:下载地址

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

  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,留下你的问题,我们一起解决他们。原创文章,未经作者允许不可转载。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏