您的位置:首页 > 运维架构 > 网站架构

MVC系统架构中应该进行抽象的几个东西

2012-01-09 23:39 387 查看
MVC的WEB层应该进行抽象的是:

统一的Controller,将其它controller公有的属性和方法进行一个抽象,方便以后扩展和维护.

代码可能是这样:

/// <summary>

/// Controller基类

/// </summary>

public abstract class ControllerBase : Controller

{

/// <summary>

/// 通用信息(一般由service层返回的)

/// </summary>

protected Entity.VMessage VMessage { get; set; }

}

Service层应该进行抽象的是:

统一的业务逻辑对象,所有Service类都继承自它,它可能有一个数据抽象方法LoadRepository<T>(),它主要负责所有最基础数据操作的调用,哪最简单的增,

删,改,查,在业务逻辑层的具体Service类中在对具体操作进行组合与封装,完成一个完善的,最直接的对WEB层的数据操作接口.

代码可能是这样:

/// <summary>

/// 业务层抽象基类

/// </summary>

public abstract class ServiceBase

{

/// <summary>

/// 通用消息

/// </summary>

protected VMessage VMessage { get; set; }

/// <summary>

/// 数据层统一(基础)操作对象

/// </summary>

/// <typeparam name="TEntity"></typeparam>

/// <returns></returns>

protected IRepository<TEntity> LoadRepository<TEntity>() where TEntity : class,Entity.IEntity

{

return new Repository<TEntity>();

}

Data层对数据上下文操作的封装,将DBContext的基础操作进行重新封装,对DATA层其它子类只公开封装后的方法和属性,也是方便维护和扩展的.

代码可能是这样:

/// <summary>

/// 数据操作基类

/// </summary>

public abstract class TestRepositoryBase

{

/// <summary>

/// 数据库基类

/// </summary>

protected LinqTESTDataContext db = ...

/// <summary>

/// 统一提交动作

/// </summary>

protected virtual void SubmitChanges()

{

...

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐