EsayUI + MVC + ADO.NET(项目架构)
项目目录
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(项目架构)的更多相关文章
- EsayUI + MVC + ADO.NET(仓储基础接口)
1.RepositoryFramework(仓储接口:无外乎就是CRUD) 1.IAddRepository(添加接口) using System; namespace Notify.Infras ...
- EsayUI + MVC + ADO.NET(工作单元)
关联的设计 关联本身不是一个模式,但它在领域建模的过程中非常重要,所以需要在探讨各种模式之前,先讨论一下对象之间的关联该如何设计.我觉得对象的关联的设计可以遵循如下的一些原则: 关联尽量少,对象之间的 ...
- EsayUI + MVC + ADO.NET(仓储基类)
该篇主要讲解工作单元的运用 和DbHlper抽象封装 工作单元仓储基类:BaseRepository (DbHlper抽象封装) 仓储接口(CRUD):IRepository (CRUD接口) ...
- .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整-控制反转和依赖注入的使用
再次调整项目架构是因为和群友dezhou的一次聊天,我原来的想法是项目尽量做简单点别搞太复杂了,仅使用了DbContext的注入,其他的也没有写接口耦合度很高.和dezhou聊过之后我仔细考虑了一下, ...
- Mvc项目架构分享之项目扩展
Mvc项目架构分享之项目扩展 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 5.项目 ...
- mvc项目架构搭建之UI层的搭建
项目架构搭建之UI层的搭建 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 5.项目创 ...
- mvc项目架构分享系列之架构搭建之Infrastructure
项目架构搭建之Infrastructure的搭建 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构 ...
- mvc项目架构分享系列之架构搭建初步
mvc项目架构分享系列之架构搭建初步 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 ...
- Asp.net mvc项目架构分享系列之架构概览
Asp.net mvc项目架构分享系列之架构概览 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构 ...
随机推荐
- HashMap和LinkedHashMap区别
import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.uti ...
- Modbus库开发笔记之一:实现功能的基本设计(转)
源: Modbus库开发笔记之一:实现功能的基本设计
- IntelliJ IDEA. Debug模式
资料收集: https://www.bilibili.com/video/av6749471/?p=16 eclipse debug模式. 基础 Intellij Idea--Debug使用 Inte ...
- Oracle 手动建库
Oracle在创建实例的时候,多数采用的是dbca的形式..其实手动建库可以提供更大的自由发挥的空间,根据情况进行定制 登录Oracle用户 指定SID(Instance Identifier) ex ...
- Python学习基础(二)——集合 深浅拷贝 函数
集合 # 集合 ''' 集合是无序不重复的 ''' # 创建列表 l = list((1, 1, 1)) l1 = [1, 1, 1] print(l) print(l1) print("* ...
- 01:tcp/ip基本知识
1.1 tcp常识 1.网络七层 2.TCP三层握手 ####1.第一次握手 # 建立连接时,客户端发送SYN包到服务器,其中包含客户端的初始序号seq=x,并进入SYN_SENT状态,等待服务器确认 ...
- Linux基础笔记——RAID
关于RAID RAID0:理论上来说一个有n块磁盘组成的raid0,它的读写是单个磁盘性能的n倍,具有低成本,高性能,低安全性,可用于可靠性不高的应用,如:视频.音频.临时数据存储等 RAID1:也称 ...
- 16 级高代 II 思考题九的七种解法
16 级高代 II 思考题九 设 $V$ 是数域 $\mathbb{K}$ 上的 $n$ 维线性空间, $\varphi$ 是 $V$ 上的线性变换, $f(\lambda),m(\lambda)$ ...
- Python3 tkinter基础 Entry validatecommand 获取输入框的值
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Android灯光系统框架分析【转】
本文转载自: 首先别人的APP要能直接访问到你写的硬件或者不经过任何修改的APP能直接使用你的驱动,就需要使用系统自带的JNI,所以我们需要写出符合系统自带JNI文件的HAL文件和驱动程序,下面具体分 ...