zoukankan      html  css  js  c++  java
  • 总体设计

    总体设计

    系列目录

    1. MVC实用架构设计(〇)——总体设计
    2. MVC实用架构设计(一)——项目结构搭建、使用MEF实用IOC
    3. MVC实用架构设计(二)——EntityFramework-Code First(1):UnitOfWork
    4. MVC实用架构设计(二)——EntityFramework-Code First(2):Repository
    5. MVC实用架构设计(二)——EntityFramework-Code First(3):实体关系
    6. MVC实用架构设计(二)——EntityFramework-Code First(4):实体仓储
    7. MVC实用架构设计(二)——EntityFramework-Code First(5):使用T4模板生成代码
    8. MVC实用架构设计(二)——EntityFramework-Code First(6):数据查询
    9. MVC实用架构设计(二)——EntityFramework-Code First(7):二级缓存
    10. MVC实体架构设计(三)——日志记录

    〇、目录

    一、前言

    二、结构图

    三、结构说明

    一、前言

      一直以下都想写这个系列,但基于各种理由(主要是懒惰),迟迟没有动手。今天,趁着周末的空档,终于把系列的目录公布出来了,算是开个头,也给自己一个坚持写博客的理由吧。

      这个架构是从我近期在做的一个项目中剥离出来的,这个项目由我从0开始一手搭建,在整个过程中不断学习(在博客园中参考了很多大牛的作品)与思考中不断完善,项目的结构也从一个普通的类PetShop三层结构演变成了现在这样,一切以实用为目的,所以项目的改造过程中并不太严格遵守传统三层的定义,这个在下篇《项目结构搭建》及以后的系列文章中都会提及到,也会与传统三层结构进行对比。

      写这个系列的目的之一也是想把当前项目的架构抽象出来,以希望得到高手大牛们的指点,指出不足之处,以求发展改进。

    二、结构图

      

      上图是本构架的设计图,纵向中间一列为架构主体部分,两边的小列为周边的依赖项,如果横向有交集,则说明主体部分对周边存在依赖。比如GMF.Demo.Core.Data依赖于Domain Models与EntityFramework,但GMf.Demo.Site.Web与GMF.Demo.Site对Entityframework不存在依赖。同样,log4net也仅为GMF.Demo.Site.Web服务等等,这些在下面的结构说明中也会详加说明。

    三、结构说明

    1. Infrastructure(基础设施层):提供系统中与业务无关的基础设施功功能
      1. GMF.Component.Tools:工具组件,提供通用辅助操作功能,扩展方法,异常定义,日志记录定义与实现等功能
      2. GMF.Component.Data:数据组件,提供与业务无关的EF数据上下文,单元操作,仓储操作,EF二级缓存等功能的定义与实现
    2. Core (业务核心层):业务
      1. EBY.Train.Core.Models:业务实体模型,定义用于系统核心业务实现的数据模型的定义
      2. EBY.Train.Core.Data:业务数据访问定义与实现:提供与业务相关的数据访问功能的实体映射,数据迁移,仓储操作的定义与实现
      3. EBY.Train.Core:业务核心功能定义与实现:提交与客户端(网站,桌面端,移动端)无关的业务逻辑的实现
    3. Application (站点应用层)
      1. EBY.Train.Site.Models:网站业务视图模型:定义用于网站业务实现的视图模型的定义
      2. EBY.Train.Site:网站业务实现,此项目继承于EBY.Train.Core,主要职能如下:
        1. 对业务执行权限进行检查
        2. 负责把从网站接收的业务视图实体转换为核心业务模型,传给业务核心层进行业务处理
        3. 处理与Http密切相关的数据(Session、Cookie等)
    4. Presentation (展现层)
      1. EBY.Train.Client.Consoles:业务控制台,可对功能代码段,核心业务等功能进行调用测试。
      2. EBY.Train.Site.Web:网站UI展现
        1. 对Action执行权限进行检查
        2. 接收用户输入并转交给站点业务层进行处理
        3. 记录功能操作的日志记录与异常日志
     
     
    分类: MVC架构设计
    标签: MVC架构设计
  • 相关阅读:
    c#之字段,属性,索引器,常量
    c#类,对象,类成员简介
    c#之接口,依赖反转,单元测试
    c#之 抽象类与开闭原则
    c#重写与多态
    c#之类
    c#之类的继承,类成员的访问控制
    c#之委托
    c# try catch用法思路
    js的全局变量
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3088058.html
Copyright © 2011-2022 走看看