上一次(即昨天),我们完成了业务逻辑层的演示;传送门:项目架构开发:业务逻辑层之领域驱动失血模型 设计上虽然还不是太优雅,但是距离真正的OO编程又更近了一步,而且也保留了事务脚本模式的简单快捷的特性 只要后续把Model层丰富起来,那就算是掌握了另一种软件开发模式,而且也是整个思想上 ...
之前我们已经完成了服务层,因为当时展现层还没有出来,所以只做了简单介绍。传送门:项目架构开发:服务层 上 这次我们通过一个维护系统用户的场景来介绍一下服务层真正的设计用意。 新增用户场景 新增用户可能会有以下步骤 实现以上需求,开发人员一般情况下可能就是以上蓝红黑紫绿几种选择 有些写在Controllers 有些写在Application 都写在Controllers或都写在Application ...
2017-03-19 15:11 1 2424 推荐指数:
上一次(即昨天),我们完成了业务逻辑层的演示;传送门:项目架构开发:业务逻辑层之领域驱动失血模型 设计上虽然还不是太优雅,但是距离真正的OO编程又更近了一步,而且也保留了事务脚本模式的简单快捷的特性 只要后续把Model层丰富起来,那就算是掌握了另一种软件开发模式,而且也是整个思想上 ...
上一章我们完成了项目的展现层的一个表的CURD,从此UI层到数据库的通道打通了;传送门:项目架构开发:展现层(上) 这章我们还是讲CURD,不过内容重复的话就没意思了,这次我们想办法提高代码编写的效率; 先来看看从UI层到DataAccess一共要写多少个类文件,服务层就先不算 ...
上次我们创建了项目的服务层,服务层在业务逻辑简单,或项目运行初期不是很容易体现出他的价值;传送门:项目架构开发:服务层(上) 服务层专门处理非业务逻辑的一些功能,比如缓存、异常处理、组织多个应用逻辑等;这次我们搭建最上层的展现层,用到的知识面包括以下: asp.net mvc5 ...
接上文 项目架构开发:数据访问层之Logger 本章我们继续IRepository开发,这个仓储与领域模式里边的仓储有区别,更像一个工具类,也就是有些园友说的“伪仓储”, 这个仓储只实现单表的CURD与Query,都是通过主键ID或拉姆达表达式进行操作的,返回的都是单表的实体或实体 ...
接上文 项目架构开发:数据访问层之Repository 上一章我们讲了IRepository接口,这张我们来讲IQuery 根据字面意思就可以知道,这次主要讲数据查询,上一章我们只针对单表做了查询的操作,多表联查并没有实现 其实对于任何一个项目来说,多表联查都是比较麻烦的地方 ...
接上文 项目架构开发:数据访问层之IQuery 本章我们继续IUnitOfWork的开发,从之前的IRepository接口中就可以看出,我们并没有处理单元事务, 数据CUD每次都是立即执行的,这样有一些不好的地方,比如数据访问次数会增多,一笔数据的完整性无法保证 比如:批量新增 ...
数据访问层简单介绍 数据访问层,提供整个项目的数据访问与持久化功能。在分层系统中所有有关数据访问、检索、持久化的任务,最终都将在这一层完成。 来看一个比较经典的数据访问层结构图 大概可以看出如下信息 1、有缓存、日志、异常处理、数据CRUD、查询及数据事务等功能 2、无缝对接如EF ...
接上文 项目架构开发:数据访问层之Cache 本章我们继续ILogger的开发 ILogger.cs 日志服务的实现 这里我们引用的是log4net组件,我们来看看具体实现 LoggerBase.cs 其实log4net可以直接在项目各层 ...