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.项目架构 ...
随机推荐
- webpack处理媒体文件(图片/视频和音频)
webpack最终会将各个模块打包成一个文件,因此我们样式中的url路径是相对入口html页面的, 这个问题是用file-loader解决的,file-loader可以解析项目中的url引入(不仅限于 ...
- 用Intellij IDEA建mybatis案例
用IDEA建mybatis案例 环境准备: 首先,建库建表(最好用navicat或sqlpro直接导) 然后打开IDEA, 1. java--->javaEE---> java app-- ...
- 控制层和ajax用法的详解
商城项目第二天复习的内容 package cn.tedu.store.entity; public class ResponseResult<T> { public static fina ...
- Eloquent JavaScript #11# The Document Object Model
索引 Notes js与html DOM 在DOM树中移动 在DOM中寻找元素 改变Document 创建节点 html元素属性 布局 style CSS选择器 动画 Exercises Build ...
- keepalived与zookeeper
keepalived与zookeeper都可以用来实现高可用,高可用一般跟负载均衡会一起考虑,所以通常也会考虑到相应的负载均衡能力, 1.概括对比: 1.1.Keepalived: 优点:简单,基本不 ...
- Linux-eval
shell中eval的用法示例: 语 法:eval [参数] 功能说明:eval会对后面的[参数]进行两遍扫描,如果在第一遍扫面后cmdLine是一个普通命令,则执行此命令:如果cmdLine中含有变 ...
- bzoj 3489 A simple rmq problem - 线段树
Description 因为是OJ上的题,就简单点好了.给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这个区间里只出现过一次的数,并且要求找的这个数尽可能大.如果找不到这样的数,则直 ...
- Python中对象的引用与复制
在python进行像b = a这样的赋值时,只会创建一个对a的新引用,使a的引用计数加1,而不会创建新的对象: >>> a = 'xyz' >>> import s ...
- 【Python48--魔法方法:迭代器&生成器】
一.迭代器 1.iter() __iter__() 2.next() __next__() 二.用while语句实现for语句相同的功能 for each in range(5): print(eac ...
- 【python017--函数对象1】
一.函数 1.定义函数:def 函数名(): 2.调用函数:直接写函数的名称() >>> def MyFirstFunction(): print('this my firs ...