ABP理论学习之应用服务】的更多相关文章

返回总目录 本篇目录 IApplicationService接口 ApplicationService类 工作单元 数据库连接和事务管理 自动保存更改 更多 应用服务的生命周期 应用服务用于将领域逻辑暴露给展现层.展现层调用具有DTO参数的应用服务,使用领域对象来执行一些特定的业务逻辑并返回给展现层一个DTO.这样,展现层就完全独立于领域层了.在一个理想的分层应用中,展现层永远不直接和领域对象打交道. IApplicationService接口 在ABP中,应用服务应该实现 IApplicati…
返回总目录 本篇目录 Ajax Notification Message UI block和busy 事件总线 Logging 其他工具功能 说在前面的话 不知不觉,我们送走了2015,同时迎来了2016.我相信,每一个人,都会在过去的一年有所失,但我更相信,我们所得到的更多.过去的就过去了,不要再计较了,但要从过去的各种不顺中汲取经验,这样,在全新的2016年里继续留下2015年遗憾的概率才会大大降低!祝大家在新的一年里,代码bug越来越少! 本来给这个ABP理论学习系列的预算时间是2016年…
返回总目录 为了和2016年春节赛跑,完成该系列博客,我牺牲了今天中午的时间来完成该系列的第一篇----开篇介绍.开篇介绍嘛,读过大学教材的同学都知道,这玩意总是那么无聊,跟考试没关系,干脆直接跳过,呵呵,多么美好的大学时光啊!不过,现在想想,开篇介绍确实不怎么重要,它只是告诉我们今后我要开始讲什么了,主要讲什么,大概浏览下重点. 哦了,不扯了,时间不多了,干活! 本篇目录 介绍 快速样例 其他 启动模板 如何使用 介绍 我们总是基于不同的需求创建不同的应用,但是在一定程度上,总在反复地实现通用…
返回总目录 自从写这个系列博客之后,发现很多园友还是希望有个直接运行的demo,其实在github上就有官方的demo,我直接把这demo的链接放到这里吧,另外,我分析,这些找不到demo的同学,很可能是不怎么用github,可能的原因就是英文不好.所以还是希望程序员多看看英文文档,一开始看得很慢不要紧,时间久了,速度绝对能上去.因为都是技术性的文章,没有特别难的语法,能让大家退而却步的最多是些生词,这个就要靠大家积累常见的词汇了,一些生僻词的话查一下意思,理解了那句话就可以过了. 跟ABP相关…
返回总目录 本篇目录 什么是依赖注入 传统方式产生的问题 解决办法 依赖注入框架 ABP中的依赖注入基础设施 注册 解析 其他 ASP.NET MVC和ASP.NET Web API集成 最后提示 什么是依赖注入 维基百科说:"依赖注入是一种软件设计模式,在这种模式下,一个或更多的依赖(或服务)被注入(或者通过引用传递)到一个独立的对象(或客户端)中,然后成为了该客户端状态的一部分.该模式分离了客户端依赖本身行为的创建,这使得程序设计变得松耦合,并遵循了依赖反转和单一职责原则.与服务定位器模式形…
返回总目录 本篇目录 服务端 获取Logger 基类中的Logger 配置 客户端 服务端 ABP使用的是Castle Windsor的日志记录设备.它可以和不同的日志类库一起工作,比如Log4Net,NLog,Serilog等等.Castle为所有的日志类库提供了一个公共的接口.因此,你完全独立于特定的日志记录类库,而且,如果需要的话,你可以轻松地改变应用程序的日志类库. Log4Net是.Net中最流行的日志类库之一.ABP模板中自带了经过合适配置的Log4Net.但是,只存在一行log4n…
返回总目录 本篇目录 IRepository接口 查询 插入 更新 删除 其他 关于异步方法 仓储实现 管理数据库连接 仓储的生命周期 仓储最佳实践 Martin Fowler对仓储的定义 位于领域层和数据映射层之间,使用类似集合的接口来访问领域对象. 在实践中,仓储是执行领域对象(实体和值对象)的数据库操作.一般地,一个分离的仓储用于一个实体(或者聚合根). IRepository接口 在ABP中,一个仓储类应该实现一个IRepository接口.为每一个仓储定义一个接口是一个好的做法. 一个…
返回总目录 本篇目录 介绍 IDomainService接口和DomainService类 样例 创建一个接口 服务实现 调用应用服务 一些讨论 何不只使用应用服务 如何强制使用领域服务 介绍 领域服务(或DDD中的服务)用于执行领域操作和业务规则.Eric Evans描述了一个好的服务应该具备下面三个特征: 和领域概念相关的操作不是一个实体或者值对象的本质部分. 接口定义在领域模型其他元素的条款中. 操作是无状态的. 跟获得或返回一个数据传输对象的应用服务方法(DTO)不同,领域服务获得或者返…
返回总目录 本篇目录 公共连接和事务管理方法 ABP中的连接和事务管理 仓储类 应用服务 工作单元 工作单元详解 关闭工作单元 非事务的工作单元 工作单元方法调用其它 工作单元作用域 自动保存 IRepository.GetAll()方法 UnitOfWork特性的限制 选项 方法 事件 公共连接和事务管理方法 在使用了数据库的应用中,连接和事务管理是最重要的概念之一.何时打开一个连接,何时开始一个事务,如何释放连接等等. 你可能已经知道,Net使用了连接池.因此,创建一个连接实际上是从连接池中…
返回总目录 本篇目录 介绍 预定义过滤器 关闭过滤器 开启过滤器 设置过滤器参数 定义自定义过滤器 其他ORM 介绍 软删除模式通常用于不会真正从数据库删除一个实体而是仅仅将它标记为"已删除的".这样,如果一个实体是软删除的,那么它不应该在应用中检索到.为了实现这个目的,我们应该在每一个select实体查询操作中添加一个SQL where条件,如"IsDeleted=false".这是乏味但是很重要的一项容易忘记的任务.因此,这项工作应该自动完成. ABP提供了数据…