文档章节

应用服务和领域服务

猪刚烈
 猪刚烈
发布于 2014/10/12 11:41
字数 548
阅读 16
收藏 0

      在领域驱动设计中,service有两种:领域服务和应用服务,单纯从它们的定义来看,两者很容易区分,前者是与业务逻辑密切相关的服务,往往处理复杂的业务请求。后者则是面向应用角度的一些支持功能,与业务本身并无太大关联。一些典型的应用服务有:发送电子邮件通知用户,对密码进行加密解密等等。在oobbs中,要在导航栏中显示当前位置的路径(一个像:index->forum1->thread1的路径)也是由一个应用层面的服务负责的。但是正如《领域驱动设计》一书所说的,实际上,区分领域服务和应用服务是一件很困难的事件,因为很多时候一个服务既有应用相关的东西,又有业务方面的内容,就像上面提到的例子,路径本身也反映了业务对象之间的层次关系,因此这个应用服务也必然要涉及到领域模型的一些细节。

      过去曾经纠结过是否应该提供两个服务层,下层的领域服务层属于领域模型的一部分,上层的应用服务层属于应用层。但是这个方案在实践中被渐渐地否定了。一方面,正如上面所说的,应用服务并不是凌驾于业务层之上的一层服务,某些时候它们相互独立,不存在相互的依赖关系,而更多的时候,它们是糅合合在一起一个整体,很难再进行细分,也没有必要再这样做。如果真得强行划分出应用服务层和领域服务层,那么大多数应用层服务将只能是对领域层服务的简单调用。最根本的原因还是刚才提到的,应用服务和领域服务没有上下之分,要么相对独立,要么揉合在一起。因此,系统应该只提供一个统一的服务层即可。

本文转载自:http://blog.csdn.net/bluishglc/article/details/6009643

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
私信 提问
DDD理论学习系列(8)-- 应用服务&领域服务

DDD理论学习系列——案例及目录 1. 引言 单从字面理解,不管是领域服务还是应用服务,都是服务。而什么是服务?从SOA到微服务,它们所描述的服务都是一个宽泛的概念,我们可以理解为服务是行...

圣杰
2017/06/30
0
0
基于 Spring 设计并实现 RESTful Web Services

在本教程中,你将会使用Spring来创建一个具有生产力的RESTful网络服务。 为什么用RESTful网络服务? 从和Amazon Web Services的整合,到聚合多个数据源,RESTful网络服务遵从了Roy Fielding的...

noday
2013/10/22
7.5K
6
架构设计中服务层的简单理解

在ddd设计中我们经常会提到服务层,服务层是什么?职责是什么?有什么好处?。 先看简单的层次图(注:这里并没有考虑其他多余的领域逻辑数据层存储,或者UOW这些细节) 我的理解是服务层是处...

zting科技
2017/01/10
0
0
[携程微分享]看机器学习如何创造价值

[携程微分享]是由携程技术中心推出的线上公开分享课程,每月1-2期,邀请携程技术人,面向广大程序员和技术爱好者,一起探讨最新的技术热点,分享一线实战经验。欢迎来面基~ 海量数据场景下,...

ctriptech
2016/05/09
96
0
飔拓荣获“2017年度ECI智能交互类大数据应用创新奖”

12月27日下午,“2017 ECI Festival国际数字商业创新节——大数据应用创新峰会在北京中国大饭店隆重举行并取得圆满成功。本届ECI Festival以“创新无界”为活动主题,通过洞察时代创新趋势,...

武汉飔拓科技
2017/12/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何很绅士的使用线程池

前言 平时接触过多线程开发的童鞋应该都或多或少了解过线程池,之前发布的《阿里巴巴 Java 手册》里也有一条: 可见线程池的重要性。 简单来说使用线程池有以下几个目的: 线程是稀缺资源,不...

瑞查德-Jack
18分钟前
2
0
Java开发必会的Linux命令

1.查找文件find / -name filename.txt 根据名称查找/目录下的filename.txt文件。find . -name "*.xml" 递归查找所有的xml文件find . -name "*.xml" |xargs grep "hello world" 递归...

奥特曼之王
20分钟前
3
0
【 58沈剑 架构师之路】各种SQL到底加了什么锁?

有朋友留言:你TM讲了这么多,锁分了这么多类型,又和事务隔离级别相关,又和索引相关,究竟能不能直接告诉我,一个SQL到底加了什么锁!? 我竟无言以对。 好吧,做过简单梳理之后,今天尝试...

张锦飞
22分钟前
2
0
打包 压缩 命令tar zip

打包 压缩 命令tar zip tar语法 #压缩 tar -czvf ***.tar.gz tar -cjvf ***.tar.bz2 #解压缩 tar -xzvf ***.tar.gz tar -xjvf ***.tar.bz2  tar [主选项+辅选项] 文件或目录 主选项是必须要...

linjin200
27分钟前
1
0
使用form表单同时实现上传文件和提交文本数据

使用form表单同时实现上传文件和提交文本数据,此示例中在后台将文件上传到阿里的oss存储服务器中 申请oss相关账号: endpoint = "http://oss-cn-qingdao.aliyuncs.com"; accessKeyId = "key"...

貔貅叔
33分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部