项目目录

     1.项目架构: http://www.cnblogs.com/liuxiaoji/p/3922506.html

     2.仓储基础接口: http://www.cnblogs.com/liuxiaoji/p/4997049.html

    3.工作单元: http://www.cnblogs.com/liuxiaoji/p/4997054.html

    4.仓储基类:http://www.cnblogs.com/liuxiaoji/p/4997107.html

    5.(Common-Code)额外篇:http://www.cnblogs.com/liuxiaoji/p/4997111.html

    6.(邮件发送组件)额外篇:http://www.cnblogs.com/liuxiaoji/p/4997123.html

    7.仓储接口:http://www.cnblogs.com/liuxiaoji/p/4997129.html

    8.Model:http://www.cnblogs.com/liuxiaoji/p/4997148.html

    9.数据抽象工厂:http://www.cnblogs.com/liuxiaoji/p/4997142.html

    10.领域业务逻辑:http://www.cnblogs.com/liuxiaoji/p/4997150.html

    11.UI逻辑:http://www.cnblogs.com/liuxiaoji/p/4997162.html

1.项目结构 

     01 DbCommon: 数据公用层(相当于Dbhelper) 不同于Dbhelper的此层多加了一种工作单元的模式

      Notify.Infrastructure :数据公用层的接口

       Notify.DbCommon :数据公共层实现

    02 Common:代码公用层 

      Notify.Code:通用代码整合(例如:序列化,加密,自定义异常,压缩,解压 等等公用代码)

        Notify.Mail:邮件发送组建

      Notify.Model:所有的Model (包括数据库实体Model,实体传输Modle:即与UI交互的数据Model)

    03 Factory:底层工厂(抽象工厂设计:即根据配置文件反射出使用mysql或者sqlserver)

      Notify.IDbFactory :工厂接口

      Notify.MysqlDbFactory: mysql实现

          Notify.SqlServerDbFactory:sqlserver实现

    04 Service (服务层)

      Notify.Domain:领域层(相当于BLL层)

      Notify.IRepository:数据层层接口

      Notify.Repository:仓储层(相当于DAL层)  

      Notify.Service:基础服务层(所有UI层都调用改层,注:主要是组织业务逻辑,不在此层编写业务逻辑)

    05 WEB(UI层)

       Notify.Controller.Account: 用户Controller

      Notify.Controller.Base: 基础Controller(相当于WebForm的BasePage)

      Notify.Controller.Permission:权限Controller

      Notify.WEB:UI页面

    06 Test(测试)

      Test:单元测试项目

  附项目截图:

              

2.项目准备和技术工作

        (1)我大致介绍一下我们项目中将要用到的软件和一些技术。

    (2):开发工具:Visual Studio 2015 注:该项目必须用vs2015以及更高版本打开 因为代码里面用到C#6.0新语法

    (3):数据库:SQL Server(2008-2014) Mysql5.5 该项目主要通过mysql 完整的实现了 sqlserver暂未实现完有兴趣的同学可以去实现

    (4):代码管理工具:SVN 该项目我已经上传code.taobao,大家可以去http://code.taobao.org/这个网站注册一个帐号即svn凭证帐号 然后通过svn迁入代码 代码下载地址:http://code.taobao.org/svn/Notify/(用svn迁出即可)

    (5):ASP.NET MVC4.0

    (6):UI框架: EasyUI,Jquery ,zTree

    (7):ADO.NET框架的使用。

    (8):面向对象设计: http://www.cnblogs.com/liuxiaoji/p/4689119.html

    (9):代码整洁: 代码命名,格式等等规范 http://www.cnblogs.com/liuxiaoji/p/4599313.html

    (10):如果大家有什么好的建议的话也可以说一下。

    3.数据库设计(powerdesigner) 

下篇--仓储基础接口

EsayUI + MVC + ADO.NET(项目架构)的更多相关文章

  1. EsayUI + MVC + ADO.NET(仓储基础接口)

      1.RepositoryFramework(仓储接口:无外乎就是CRUD) 1.IAddRepository(添加接口) using System; namespace Notify.Infras ...

  2. EsayUI + MVC + ADO.NET(工作单元)

    关联的设计 关联本身不是一个模式,但它在领域建模的过程中非常重要,所以需要在探讨各种模式之前,先讨论一下对象之间的关联该如何设计.我觉得对象的关联的设计可以遵循如下的一些原则: 关联尽量少,对象之间的 ...

  3. EsayUI + MVC + ADO.NET(仓储基类)

      该篇主要讲解工作单元的运用 和DbHlper抽象封装 工作单元仓储基类:BaseRepository (DbHlper抽象封装)  仓储接口(CRUD):IRepository (CRUD接口) ...

  4. .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整-控制反转和依赖注入的使用

    再次调整项目架构是因为和群友dezhou的一次聊天,我原来的想法是项目尽量做简单点别搞太复杂了,仅使用了DbContext的注入,其他的也没有写接口耦合度很高.和dezhou聊过之后我仔细考虑了一下, ...

  5. Mvc项目架构分享之项目扩展

    Mvc项目架构分享之项目扩展 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 5.项目 ...

  6. mvc项目架构搭建之UI层的搭建

    项目架构搭建之UI层的搭建 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 5.项目创 ...

  7. mvc项目架构分享系列之架构搭建之Infrastructure

    项目架构搭建之Infrastructure的搭建 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构 ...

  8. mvc项目架构分享系列之架构搭建初步

    mvc项目架构分享系列之架构搭建初步 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 ...

  9. Asp.net mvc项目架构分享系列之架构概览

    Asp.net mvc项目架构分享系列之架构概览 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构 ...

随机推荐

  1. Kattis之旅——Chinese Remainder

    Input The first line of input consists of an integers T where 1≤T≤1000, the number of test cases. Th ...

  2. An Example of How Oracle Works

    Oracle是怎么工作的,摘自Oracle 9i的官方文档 The following example describes the most basic level of operations tha ...

  3. vi/vim 命令速查手册

    vi 的基本概念 基本上vi可分为三种操作状态,分别是命令模式(Command mode).插入模式(Insert mode)和底线命令模式(Last line mode),各模式的功能区分如下: 1 ...

  4. 为什么预处理和参数化查询可以防止sql注入呢?

    在传统的写法中,sql查询语句在程序中拼接,防注入(加斜杠)是在php中处理的,然后就发语句发送到mysql中,mysql其实没有太好的办法对传进来的语句判断哪些是正常的,哪些是恶意的,所以直接查询的 ...

  5. Testng测试报告

    执行完测试用例之后,会在项目的test-output(默认目录)下生成测试报告

  6. ODAC(V9.5.15) 学习笔记(三)TOraSession(1)

    1. 连接相关 名称 类型 说明 ConnectDialog 执行连接对话框控件 Connected Boolean 连接状态,通过函数Connect和Disconnect连接或关闭数据库连接,并触发 ...

  7. Android O HIDL的实现对接【转】

    本文转载自:https://blog.csdn.net/gh201030460222/article/details/80551897 Android O HIDL的实现对接1. HIDL的定义1.1 ...

  8. shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢?

    shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢? 这确实是一个困扰很久的一个问题? how it can be an issue? 事实上, 在shell中, 你可以认为 ...

  9. size_t和unsigned int区别

    size_t和unsigned int有所不同,size_t的取值range是目标平台下最大可能的数组尺寸,一些平台下size_t的范围小于int的正数范围,又或者大于unsigned int.最典型 ...

  10. Unsupervised Image-to-Image Translation Networks --- Reading Writing

    Unsupervised Image-to-Image Translation Networks --- Reading Writing 2017.03.03 Motivations: most ex ...