返回

架构那些事~MVC系统架构中哪些应该进行抽象

发布时间:2022-10-03 06:14:03 354
# 数据库# 数据# 信息

今天主要想说一个MVC+LinqTOSql的系统架构中哪些东西可以,也应该进行抽象.

MVC的WEB层应该进行抽象的是:

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

代码可能是这样:

///
/// Controller基类
///
public abstract class ControllerBase : Controller
{ ///
/// 通用信息(一般由service层返回的)
///
protected Entity.VMessage VMessage { get; set; } }

Service层应该进行抽象的是:

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

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

代码可能是这样:

///
/// 业务层抽象基类
///
public abstract class ServiceBase
{
///
/// 通用消息
///
protected VMessage VMessage { get; set; }
///
/// 数据层统一(基础)操作对象
///
///
///
protected IRepository LoadRepository() where TEntity : class,Entity.IEntity
{
return new Repository();
}

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

代码可能是这样:

///
/// 数据操作基类
///
public abstract class TestRepositoryBase
{
///
/// 数据库基类
///
protected LinqTESTDataContext db = ...
///
/// 统一提交动作
///
protected virtual void SubmitChanges()
{
...
}

作者:仓储大叔,张占岭,
荣誉:微软MVP

 

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
刷题力扣第15题-三数之和 2022-10-03 05:31:26