zoukankan      html  css  js  c++  java
  • ASP.NET MVC4+EF系列之五 架构介绍

    从这一节将名字做了小小修改,因为为了支持code first migrations我用的EF5.0。

    图片1:

    图片2:

    这些首先让我们大致看下整个系统的风格,当然暂时也就这些功能。我需要一步一步完善整个通用权限管理系统。

    一.整体架构概述

      1.框架

        1.EgojitFramework.Comm命名空间是基础的和业务无关的一些支撑类。包括BaseController类这个类基础自Controller。以后所有的控制器类都继承它。我们可以在其中做一些自己的事情。

        2.EgojitFramework.Domain中是支持领域驱动思想的一些类。

        3.EgojitFramework.Domain.Repositories:仓储相关类操作。这里设计成可替换的。我们这里用EF,当然也可以替换成NH。

        4.EgojitFramework.Infrastructure:对对象业务的管理,主要是一些事务处理管理。

      (2)系统

        1.EgojitFramework.Domain.DtoUI:Dto界面类要区分它和业务类之间的关系。它主要负责将业务类的数据更合理的展示在前台界面.

        2.EgojitFramework.Domain.Model:是实实在在的业务类库,这里面的每个类都会用Code first生成到数据库。他的合理性觉定这系统能走多远。

        3.EgojitFramework.Services是业务服务类接口库,所有的业务相关类都在这里。这里面的方法被Controller通过反射去调用。这个也保证了Controller中的Action的纯洁性

        4.EgojitFramework.ServicesIpl实现EgojitFramework.Services类库中接口的方法,被Controller通过反射去调用

        5.EgojitFramework.Web这个大家很容易看出来它是程序的B/S界面

    二.依赖关系

    web层通过依赖注入解耦和Services层的依赖。同时web层和DtoUI层更多的打交道。Services依赖框架中的库

    时间宝贵,只能长话短说。后续系列会对各类库中的重要类做详细说明

    声明:本博客版权归egojit和博客园共同所有,转载请注明出处。

  • 相关阅读:
    ubuntu 如何进行文件、夹删除等操作
    cuda cudnn anaconda gcc tensorflow 安装及环境配置
    ubuntu16.04系统gcc下降和升级
    关于AJAX 第五篇
    关于AJAX 第四篇
    关于AJAX 第三篇
    关于AJAX 第二篇
    关于AJAX 第一篇
    (转)关于区块链与比特币 来源于嘶吼: http://www.4hou.com/info/news/6152.html
    php 函数
  • 原文地址:https://www.cnblogs.com/egojit/p/EFMVC.html
Copyright © 2011-2022 走看看