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

简介:

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

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()
        {
           ...
        }

本文转自博客园张占岭(仓储大叔)的博客,原文链接:架构那些事~MVC系统架构中哪些应该进行抽象,如需转载请自行联系原博主。

目录
相关文章
|
3月前
|
设计模式 前端开发 数据库
从MVC到MVVC:软件架构的演变和迭代(二)
从MVC到MVVC:软件架构的演变和迭代
|
2月前
|
前端开发 Java fastjson
且谈软件架构(二) 模块化与MVC
且谈软件架构(二) 模块化与MVC
|
2天前
|
前端开发 Java PHP
信息系统架构模型(1) MVC
信息系统架构模型(1) MVC
6 0
|
4月前
|
存储 设计模式 前端开发
MVC架构和DDD架构的区别?
最近在学习一个开源社区项目,第一次听说了DDD项目架构,于是通过搜索之后来分享给大家
|
1月前
|
设计模式 前端开发 数据处理
MVC架构中,控制器和模型之间是如何交互的
MVC架构中,控制器和模型之间是如何交互的
10 0
|
1月前
|
存储 设计模式 前端开发
请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
【2月更文挑战第26天】【2月更文挑战第89篇】请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
|
3月前
|
设计模式 监控 前端开发
从MVC到MVVC:软件架构的演变和迭代(一)
从MVC到MVVC:软件架构的演变和迭代
|
3月前
|
设计模式 存储 前端开发
【各种问题处理】MVC、MVP、MVVM 、MVI、VIPER 架构(设计模式)
【1月更文挑战第13天】【各种问题处理】MVC、MVP、MVVM 、MVI、VIPER 架构(设计模式)
|
3月前
|
前端开发 Java 数据库
MVC模式和三层架构
MVC模式和三层架构
21 0
|
3月前
|
设计模式 前端开发 数据库
IOS开发基础知识:什么是 MVC 架构?它在 iOS 中的应用是什么样的?
IOS开发基础知识:什么是 MVC 架构?它在 iOS 中的应用是什么样的?
25 1