实体

     实体是具有唯一标识的对象,且该标识和对象的属性值分离.即使两个实体的属性完全相同,这两个实体也相同,不能交换使用.由于实体通常对应于现实世界的概念.

是领域模型的中心,因此实体的标识非常重要.

值对象

值对象是主要由其属性值定义的对象.值对象通常不可变,即一旦创建,他们就再也不能更新.如果两个实例的属性具有相同的值,他们就可以交换使用.

工厂

java应用程序中使用new操作符创建对象.有时,直接使用new操作符已经错错有余,但如果需要实例化复杂的对象类型,你或许就要用到工厂.工厂(factory)定义了创建实体的方法,他封装了实例化对象图并将这些对象连接在一起的机制,从而简化了客户端代码.

仓库

     仓库管理实体的集合,并定义了查找和删除实体的方法.如果工厂代码很简单,他们也可以扮演工厂的角色.仓库封装了持久层框架,由一个接口及其实现类组成.接口定义能被仓库客户端调用的方法,而实现类则通过调用持久层框架实现这个接口.由于持久层框架被封装在接口后面,因此你可以集中经历开发业务逻辑,不会为数据库问题拖累或者分心.

服务

     服务,实现整个应用程序的工作流.这些类及实现用例是应用程序的驱动力.一般来说,服务包含那些无法指派给单个实体的行为,由作用于多个对象的方法组成.

服务方法很少实现大量业务逻辑.相反,典型的服务方法通过仓库获取对象,然后委派给这些对象.

转载于:https://www.cnblogs.com/dycg/articles/1682072.html

领域模型中的各种角色相关推荐

  1. 领域模型中分散的事务如何集中统一处理(C#解决方案)

    领域模型中分散的事务如何集中统一处理(C#解决方案) 参考文章: (1)领域模型中分散的事务如何集中统一处理(C#解决方案) (2)https://www.cnblogs.com/xianhong/p ...

  2. Tomcat应用部署:打war包、在Tomcat中注册用户角色、创建虚拟目录和域名

    #1.打war包 1)命令:jar -cvf xx.war * (备注:执行打包的前提条件:目录必须切换到打包项目的webRoot(webContent)目录下) 备注:1. c:创建新的文档v:显示 ...

  3. 小程序服务器角色,小程序在我们的生活中扮演什么角色?

    原标题:小程序在我们的生活中扮演什么角色? 我们给大家讲过关于小程序的相关问题,还有互联网+的相关问题,相信大家还不知道这两者之间的关系,今天我们给大家讲解一下关于小程序与互联网+的关联. 我们再来回 ...

  4. php里注册管理员账号,WordPress中创建用户角色的相关PHP函数使用详解

    这篇文章主要介绍了WordPress中创建用户角色的相关函数使用,在WordPress的多用户模式中不同角色拥有不同的权限,需要的朋友可以参考下 WordPress 默认有 "订阅者&quo ...

  5. 在Silverlight+WCF中应用以角色为基础的安全模式(一)基础篇之角色为基础的安全模式简介...

        引言 最近一直在研究Silverlight+WCF应用中的安全问题,如何设计一个安全,又符合Silverlight和WCF的规范的应用呢?又可以将以前的角色为基础的开发框架拿来主义呢? 我们知 ...

  6. SQL Server中通用数据库角色权限的处理详解

    SQL Server中通用数据库角色权限的处理详解 前言 安全性是所有数据库管理系统的一个重要特征.理解安全性问题是理解数据库管理系统安全性机制的前提. 最近和同事在做数据库权限清理的事情,主要是删除 ...

  7. 如何利用Shader来渲染游戏中的3D角色

    杨航最近在学Unity3D 本文主要介绍一下如何利用Shader来渲染游戏中的3D角色,以及如何利用Unity提供的Surface Shader来书写自定义Shader. 一.从Shader开始 ...

  8. apache2 wordpress目录权限_小白指南:WordPress中的用户角色和权限

    WordPress本身自带了一套用户角色管理系统,这套系统定义了每个用户角色可以做什么,不可以做什么.随着网站的发展,弄懂这些用户角色和权限的问题是非常有必要的.在这篇小白指南中,我们将用图表的形式对 ...

  9. DevOps 在移动应用程序开发中扮演什么角色?

    作者 | VARUN BHAGAT 译者 | 火火酱,责编| Carol 封图 | CSDN 付费下载自视觉中国 全球智能手机用户数量已经超过30亿.据估计,未来几年用户人数将增加至数亿人.智能手机用 ...

最新文章

  1. Linux软件安装 conda
  2. flutter_webview_plugin 无法加载网页的异常处理
  3. coreldraw 双层边框
  4. Integer注意_享元设计模式
  5. Xcode 如何使用旧版本SDK以保证程序兼容性
  6. vue学习笔记-01-前端的发展历史(从后端到前端,再到前后端分离,再到全栈)
  7. vSAN其实很简单-一张图搞清楚不同vSAN版本之间的功能差异
  8. java输入两个整数_Java中从键盘输入多个整数的方法
  9. 论开心网和人人网的衰落
  10. 上海2018计算机中级职称,2018中级职称评定申报要求
  11. Simulink嵌入式自动代码 DSP F28335(1)——环境配置和方波例程
  12. Swagger、Rap与Yapi接口管理
  13. 什么是局域网监控?是如何监控的...
  14. Echarts实现图表下钻
  15. 知网论文caj怎么转化成word
  16. 中级JAVA程序员应该掌握的数据结构知识
  17. 验证集到底有什么作用
  18. IT学习的网站和工具
  19. Office Word 孤行控制
  20. IE8下载的文件放在哪

热门文章

  1. python 上下文管理器、 else 块、@contextmanager
  2. LeetCode 1566. 重复至少 K 次且长度为 M 的模式
  3. LeetCode 57. 插入区间(一次遍历)
  4. LeetCode 303. 区域和检索 - 数组不可变(前缀和)
  5. 就业技术书文件表格_就业申请书
  6. hook 监控文件 c++_技术分享 | Linux 入侵检测中的进程创建监控
  7. RDD持久化、广播、累加器
  8. blob数据类型_MySQL的数据类型
  9. 如果你跟夕小瑶恋爱了...(上)
  10. Spring Boot中使用@Async实现异步调用