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.项目架构 ...
随机推荐
- Kattis之旅——Chinese Remainder
Input The first line of input consists of an integers T where 1≤T≤1000, the number of test cases. Th ...
- An Example of How Oracle Works
Oracle是怎么工作的,摘自Oracle 9i的官方文档 The following example describes the most basic level of operations tha ...
- vi/vim 命令速查手册
vi 的基本概念 基本上vi可分为三种操作状态,分别是命令模式(Command mode).插入模式(Insert mode)和底线命令模式(Last line mode),各模式的功能区分如下: 1 ...
- 为什么预处理和参数化查询可以防止sql注入呢?
在传统的写法中,sql查询语句在程序中拼接,防注入(加斜杠)是在php中处理的,然后就发语句发送到mysql中,mysql其实没有太好的办法对传进来的语句判断哪些是正常的,哪些是恶意的,所以直接查询的 ...
- Testng测试报告
执行完测试用例之后,会在项目的test-output(默认目录)下生成测试报告
- ODAC(V9.5.15) 学习笔记(三)TOraSession(1)
1. 连接相关 名称 类型 说明 ConnectDialog 执行连接对话框控件 Connected Boolean 连接状态,通过函数Connect和Disconnect连接或关闭数据库连接,并触发 ...
- Android O HIDL的实现对接【转】
本文转载自:https://blog.csdn.net/gh201030460222/article/details/80551897 Android O HIDL的实现对接1. HIDL的定义1.1 ...
- shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢?
shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢? 这确实是一个困扰很久的一个问题? how it can be an issue? 事实上, 在shell中, 你可以认为 ...
- size_t和unsigned int区别
size_t和unsigned int有所不同,size_t的取值range是目标平台下最大可能的数组尺寸,一些平台下size_t的范围小于int的正数范围,又或者大于unsigned int.最典型 ...
- Unsupervised Image-to-Image Translation Networks --- Reading Writing
Unsupervised Image-to-Image Translation Networks --- Reading Writing 2017.03.03 Motivations: most ex ...