# TYStudioMVCDemo **Repository Path**: wangscript/tystudiomvcdemo ## Basic Information - **Project Name**: TYStudioMVCDemo - **Description**: 本系统提供一个对默认的DOTNET MVC扩展的ASP.NET三层架构,使用了StructureMap和Enterprise Library进行依赖注入和异常日志记录处理,面向接口编程在本系统得到了充分的体现。 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: http://www.tystudio.net/2013/04/06/mvc-structuremap-enterprise-library/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2018-02-09 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 本系统提供一个对默认的DOTNET MVC扩展的ASP.NET三层架构,使用了StructureMap和Enterprise Library进行依赖注入和异常日志记录处理,面向接口编程在本系统得到了充分的体现。 下面是对本系统各个模块实现的详细文章: 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入1-Model层的实现 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入2-Repository层的实现 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入3-Service层的实现 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入4-Controller和View的实现 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入5-StructureMap的配置与实现 扩展ASP.NET MVC三层框架并使用Enterprise Library实现异常与日志记录(6) 本系统基于ASP.NET MVC4,使用了StructureMap实现依赖注入,Enterprise Library实现异常和日志的处理。相应的第三方DLL放在了Commons工程中,数据库使用开源Northwind数据库,Logging和Northwind数据库备份也放到了Commons工程中。 下面看一下最终我们这个框架的完整结构: 9个工程功能介绍 TYStudioDemo.Commons工程重要放一些公共的类,和一些工具方法。 TYStudioDemo.DTO工程,主要放我们ViewModel,分离View和Entity Framework,降低代码耦合度。 TYStudioDemo.Interfaces工程,统一管理整个框架的接口,所有的接口都在这一工程。 TYStudioDemo.Membership工程,是我们的权限管理模块,可以参考天屹的MVC4 Simplemembership些列文章。 TYStudioDemo.Models工程,这里没有其他的只有Entity Framework,Models层。 TYStudioDemo.Repositories工程,如名字这里放置所有Repository,数据库持久层,只有这一层去和Model层打交道。 TYStudioDemo.Services工程,业务逻辑层所有的业务逻辑都放在这一工程,通过StructureMap实现对Repository的注入,同时异常处理Service也在这里一层,使用Enterprise Library进行异常的日志记录。 TYStudioDemo.StructureMap工程,这里放置的StructureMap的配置与管理。 TYStudioDemo.WebUI工程,UI层,Controller和View都在这一层。 一些说明: 因为是Demo,所以没有写成一个完整的系统,只对Supplier一个表进行了操作,当然考虑到事务的问题,天屹在SupplierService的Create方法中模拟添加了Product表的内容,对本系统中的事务处理做了注释说明。 如果觉得系统还可以,请大家推荐分享一下,让更多的学习MVC的朋友看到,谢谢。 如果有什么问题,不明白的地方,欢迎来到TYStudio,留下你的问题,我们一起解决他们。