项目架构搭建之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的更多相关文章

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

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

  2. Asp.net mvc项目架构分享系列之架构搭建初步

    copy to:http://www.cnblogs.com/ben121011/p/5014795.html 项目架构各部分解析 Core Models IDAL MSSQLDAL IBLL BLL ...

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

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

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

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

  5. ABP架构学习系列

    ABP实践学习系列 ABP Zero 本地化语言的初始化和扩展 ABP Zero 导航菜单之角色权限 ABP Zero示例项目问题总结  ABP后台服务之作业调度Quartz.NET   ABP架构学 ...

  6. 【目录】mysql 架构篇系列

    随笔分类 - mysql 架构篇系列 mysql 架构篇系列 4 复制架构一主一从搭建(半同步复制) 摘要: 一.概述 在mysql 5.5之前,mysql 的复制是异步操作,主库和从库的数据之间存在 ...

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

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

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

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

  9. MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等

    SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...

随机推荐

  1. IOS实现中间凸起圆形TabBar

    中间凸起的圆形TabBar曾经比较流行,类似于闲鱼之类的APP就使用了中间凸起TabBar,这两天自己动手实现了一个,效果图如下: 大致原理:重写UITabBar和UITabBarController ...

  2. BAPI 调用相当于BAPI_TRANSACTION_COMMIT 的方法

    为什么.net调用SAP的BAPI接口需要调用BAPI_TRANSACTION_COMMIT呢?首先得明白BAPI_TRANSACTION_COMMIT这个BAPI的作用.它功劳很大,在SAP里面很多 ...

  3. IOS8Preview-xCode_6

    IOS8Preview-xCode_6 what's new What's new in xCode 6 Xcode 6 introduces a radically new way to desig ...

  4. Angular.js表单以及与Bootatrap的使用

    首先从angular.js的目录开始,如下图,知道了我们要学什么,然后再开始有目的的学习与对比. 1.从表达式开始: ng-app指令初始化一个 AngularJS 应用程序. ng-init指令初始 ...

  5. Physical Based Shading in Unreal Engine 3

    Roughness = 0.1roughness = 0.4roughness = 0.7roughness = 0.999 以上的Fresnel 0° = {1.0,0.86.0.57}(PS: 近 ...

  6. tar exclue文件夹

    tar zcvf logs.tar.gz logs --exclude=logs/log1

  7. 解决msgfmt无法使用的问题

    参考: http://blog.sina.com.cn/s/blog_4fb490ff0100csne.html http://linux.die.net/man/1/msgfmt http://pa ...

  8. python——第一天

    两种循环: for x in …… while range(n) 生成整数序列,并且是从0开始一直到n-1的整数 raw_input() 读取的内容永远以字符串的形式,必须先用 int() 把字符串转 ...

  9. Android 学习笔记多媒体技术之 AsyncTask+实现音频播放...

    PS:今天搞了一下如何实现音频播放...结果被坑了,看书上写的代码是挺简单的,但是有个函数就是死活没看懂,这真是受不了...最后才弄明白,原来是一个实现异步任务的一个类...这个类使用java.uti ...

  10. BZOJ3732 解析报告//LCA,最小生成树

    3732: Network 题目描述 给你N个点的无向图 (1 <= N <= 15,000),记为:1…N. 图中有M条边 (1 <= M <= 30,000) ,第j条边的 ...