使用MVCQuick.Framework重构MVC Music Store(一)

mac2022-06-30  24

MusicStore

MVC Music Store是基于最佳ASP.NETMVC入门教程,引导如何使用MVC和Visual Studio进行Web开发。MVC Music Store最新版本基于ASP.NET MVC 3使用Visual Studio 2010开发

MVCQuick.Framework

MVCQuick.一个快速开发ASP.NET MVC应用程序的原创开源框架。其中MVCQuick.Framework包括一个存储库、一个IoC容器、一个日志管理器、一个安全提供者。

实体对象定义:

public class Album : EntityBase { public string Title { get; set; }public decimal Price { get; set; } public string AlbumArtUrl { get; set; }public Genre Genre { get; set; }public Artist Artist { get; set; }public IEnumerable<OrderDetail> OrderDetails { get; set; } }

 

存储:

//全局配置NHibernateManager.Configuration();NHibernateManager.AddMapping("MVCQuick",typeof(EntityBase).Assembly,typeof(Album).Assembly); NHibernateManager.UpdateSchema();ClassicContainer.Register<NHibernateRepository>("NHibernateRepository"); //使用repository.Save<Cart>(cartItem);var cartItems = repository.Query<Cart>() .Where(x => x.Guid == ShoppingCartId) .ToList();

 

IoC容器:

ClassicContainer.Register<AccountController>("Account", properties);

日志:

//全局配置Logger.ConfigureLog4Net(HttpContext.Current.Server.MapPath("~/log"), LogLevel.Info, LogLevel.Info);//使用Logger logger = Logger.GetLogger(filterContext.Controller.GetType());logger.Error(filterContext.Exception);

 

成员提供者:

<membership defaultProvider="ClassicMembershipProvider"> <providers> <clear/> <add name="ClassicMembershipProvider" type="MVCQuick.Framework.Security.ClassicMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresUniqueEmail="false" requiresQuestionAndAnswer="false" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" applicationName="MVCQuick" passwordFormat="Hashed" /> </providers> </membership>

 

重构

1、Model

修改实体类,继承MVCQuick.Framework.EntityBase

使用 MVCQuick.Framework.Repository替换Entity Framework

2、Controller

使用 MVCQuick.Framework.Container将Controller与数据访问对象解藕

3、View

保持原状,修改部分字段

4、Configuration

将默认成员提供者、角色提供者替换为MVCQuick.Framework.Security.ClassicMembershipProvider、MVCQuick.Framework.Security.ClassicRoleProvider

增加日志功能

5、Test

测试运行效果

 

源代码下载:http://mvcquick.codeplex.com/   

 

转载于:https://www.cnblogs.com/guyoung/archive/2011/10/24/2222553.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)