mvc项目架构分享系列之架构搭建之Repository和Service
项目架构搭建之Repository和Service的搭建
Contents
系列一【架构概览】
0.项目简介
1.项目解决方案分层方案
2.所用到的技术
3.项目引用关系
系列二【架构搭建初步】
4.项目架构各部分解析
5.项目创建
系列三 【Infrastructure搭建】
6.项目架构搭建之Core搭建
7.项目架构搭建之Models搭建
系列四 【Repository和Service的搭建】
8.项目架构搭建之IDAL搭建
9.项目架构搭建之MSSQLDAL搭建
10.项目架构搭建之IBLL搭建
11.项目架构搭建之BLL搭建
系列五 【UI搭建】
12.WebHelper搭建
13.Web搭建
14.AdminLogic搭建
系列六 【项目扩展】
15.新增Model的处理
8.项目架构搭建之IDAL搭建
- IBaseDAL 定义常用的增删改查
- IDALCollection 定义各个Model对应的接口以及接口特殊方法
在定义接口时的注意事项:
- 必须集成IBaseDAL父接口
- IDbContextFactory 定义获取EF上下文的方法
- IDbSession 定义各个Model对应的数据接口
- IDbSessionFactory 定义获取数据仓储接口的方法
9.项目架构搭建之MSSQLDAL搭建
- BaseDAL 实现IDAL层IBaseDAL 接口中定义的方法
- DALCollection 定义各个model对应的类并实现IDAL层IDALCollection中各个Model对应的接口以及接口特殊方法
在定义类时的注意事项:
- 必须集成BaseDAL基类
- 必须实现IDAL层对应的接口
示例:

- DbContextFactory 实现IDAL层IDbContextFactory 接口中定义的获取EF上下文方法
利用dotNet自带的缓存策略,System.Runtime.Remoting.Messaging.CallContext 实现缓存以减少new的过程,提高数据操作效率。

- DbSession 定义各个Model对应的数据接口并实例化

- DbSessionFactory 实现IDAL层IDbContextFactory 接口中的获取数据仓储接口的方法
数据缓存使用以上提到的缓存策略

10.项目架构搭建之IBLL搭建
- IBaseBLL 定义常用的增删改查,以及特殊的方法和属性
- IBLLCollection 定义各个Model对应的接口以及接口特殊方法
在定义接口时的注意事项:
- 必须集成IBaseBLL父接口
- IBLLSession 定义各个Model对应的service接口
- IBLLSessionFactory 定义获取Service仓储接口的方法
11.项目架构搭建之BLL搭建
- BaseBLL 实现IBLL层IBaseBLL 接口中定义的方法
- BLLCollection 定义各个model对应的类并实现IBLL层IBLLCollection中各个Model对应的接口以及接口特殊方法
在定义类时的注意事项:
- 必须集成BaseBLL基类
- 必须实现IBLL层对应的接口
示例:

- BLLSession 定义各个Model对应的service接口并实例化

- BLLSessionFactory 实现IBLL层IBLLSessionFactory 接口中的获取数据仓储接口的方法

- DbSessionFactory 实现IDAL层IDbSessionFactory 接口中的获取数据仓储接口的方法

mvc项目架构分享系列之架构搭建之Repository和Service的更多相关文章
- mvc项目架构分享系列之架构搭建初步
mvc项目架构分享系列之架构搭建初步 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 ...
- Asp.net mvc项目架构分享系列之架构搭建初步
copy to:http://www.cnblogs.com/ben121011/p/5014795.html 项目架构各部分解析 Core Models IDAL MSSQLDAL IBLL BLL ...
- Asp.net mvc项目架构分享系列之架构概览
Asp.net mvc项目架构分享系列之架构概览 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构 ...
- mvc项目架构分享系列之架构搭建之Infrastructure
项目架构搭建之Infrastructure的搭建 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构 ...
- ABP架构学习系列
ABP实践学习系列 ABP Zero 本地化语言的初始化和扩展 ABP Zero 导航菜单之角色权限 ABP Zero示例项目问题总结 ABP后台服务之作业调度Quartz.NET ABP架构学 ...
- 【目录】mysql 架构篇系列
随笔分类 - mysql 架构篇系列 mysql 架构篇系列 4 复制架构一主一从搭建(半同步复制) 摘要: 一.概述 在mysql 5.5之前,mysql 的复制是异步操作,主库和从库的数据之间存在 ...
- Mvc项目架构分享之项目扩展
Mvc项目架构分享之项目扩展 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 5.项目 ...
- mvc项目架构搭建之UI层的搭建
项目架构搭建之UI层的搭建 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 5.项目创 ...
- MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
随机推荐
- C#操作FTP报错,远程服务器返回错误:(550)文件不可用(例如,未找到文件,无法访问文件)的解决方法
最近在做项目的时候需要操作ftp进行文件的上传下载,但在调用using (var response = (FtpWebResponse)FtpWebRequest.GetResponse())的时候总 ...
- python 字符串连接
字符串连接 方法1: 用字符串的join方法 a = ['a','b','c','d']content = ''content = ''.join(a)print content 方法2: 用字符串的 ...
- oracle 日期获取
,'YYYY-MM-DD')星期一, to_char(NEXT_DAy(to_date(,'YYYY-MM-DD')星期日 from dual; select to_char(sysdate,'yyy ...
- 调皮的MySQL服务 请你不要再躲猫猫
问题说明 Win10企业版 64位: MySQL5.6 64位: 临时在本机部署一套系统,需要用到MySQL,发现Windows服务下居然找不到MySQL这个服务,原先配置好的GUI以及应用程序都连不 ...
- __proto__与prototype
值得一说的是对象没有prototype属性,只有函数有prototype属性. var a = function(){}; a.prototype.d = function(){ console.lo ...
- fzu 2107 Hua Rong Dao(状态压缩)
Problem 2107 Hua Rong Dao Accept: 106 Submit: 197 Time Limit: 1000 mSec Memory Limit : 32768 K ...
- 《微信小程序七日谈》- 第一天:人生若只如初见
<微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩 微信小 ...
- Python单元测试框架之pytest -- 生成测试报告
继续pytest单元测试框架的学习,pytest可以生成多种类型的测试报告.这一节就来学习pytest如何生成测试报告. 创建test_calss.py 测试用例文件,这里以测试该文件为例. #cod ...
- LeetCode-95. Unique Binary Search Trees II
Description: Given n, generate all structurally unique BST's (binary search trees) that store values ...
- TinyFox在VS2015上的调试器
这个一个TinyFox在VS2015上的调试工具 : 开源了 https://github.com/maxzhang1985/TinyFoxDEBUG 开发这个工具的初衷,是想更便捷的调试Nancy ...