社区
Web 开发
帖子详情
请教 领域模型和领域对象 问题
xubin1204
2009-04-09 10:24:11
请问:
1,领域模型是什么
2,领域对象是什么
3,实体类和实体对象是什么
4,四者和UML有什么关系
谢谢
...全文
1391
5
打赏
收藏
请教 领域模型和领域对象 问题
请问: 1,领域模型是什么 2,领域对象是什么 3,实体类和实体对象是什么 4,四者和UML有什么关系 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pojia
2009-05-31
打赏
举报
回复
我也在关注这个问题,个人认为,领域模型在不同的社区可以有不同理解; 比如它可以当商业模型,当设计模型;
当它是商业模型时,就如2楼描述的是对现实世界对象的可视化,UP里面也把它说成概念模型,领域对象模型,分析对象模型;
当它被认为是设计模型时候,我认为又有两个分支理解,一个是简单理解为领域层,也就是包含entity 和value object, 这种理解在uml and pattern这本书由描述, 另外一种理解是,也是我个人的理解,领域模型和MVC模型一样,需要由多个元素,架构等来体现,比如它要包含领域层,基础设施层,服务层;根据业务逻辑的在层中的分布,表达不同架构特征,又开始分为失血,贫血,充血,胀血模型,,当然在细分的话,又有很多概念,什么胖瘦反模型啊这些
抬头望远,低头沉思
2009-04-10
打赏
举报
回复
楼主可以参考一下,下面这个实例来理解领域模型,引用自javaEye
domain model,又称为领域模型,是Java企业应用讨论的一个热门话题,JavaEye也曾经多次围绕这个话题讨论,我们来看个简单的例子:
一个简单的公司工时管理系统,记录员工的个人信息,每个员工的工作任务分配,以及工作所属类别(例如开发,还是测试,还是培训等等),其中每个员工有n个任务,员工和任务是一对多关系,每个员工也分别隶属于多个不同的工作类别,员工和类型是多对多关联关系,而每个任务也分别隶属于唯一的工作类别,任务和类别是多对一关系。另外系统不要求对部门信息进行维护,不需要department表。因此,在这个系统中使用四张数据库表:
users表保存员工信息,有name, password, gender, department, salary
tasks表保存工作任务信息,有name,start_time, end_time
kinds表保存工作所属类别,有name
kinds_users表是一张关联表,保存users表和kinds表的多对多关联外键的
系统的功能需求如下:
1、某部门录用一名新员工
2、某部门员工总薪水总和
3、某员工已经开始但尚未结束的任务
4、给某员工分配一项任务
5、所有用户当前已经开始但尚未结束的任务
6、对某一类别,给所有和此一类别相关的员工,批量新增一批任务
7、针对任务的统计功能,给定某类别,统计当月总的任务数,已完成任务数,未完成任务数
详细楼主可以参考原文http://www.javaeye.com/wiki/DomainObject/299-domain%20model的延伸讨论
抬头望远,低头沉思
2009-04-10
打赏
举报
回复
[Quote=引用 1 楼 Epiphone 的回复:]
看你怎么分析了
首先分析你项目里的实体有多少实体 然后根据实体之间的关系去绘制UML图 在根据UML来建立数据库 我们没接一个项目的时候都是这样做的
领域模型---- 领域模型可以被看作是一个系统的概念模型,用于以可视化的形式描述系统中的各个实体及其之间的关系。领域模型记录了一个系统中的关键概念和词汇表,显示出了系统中的主要实体之间的关系,并确定了它们的重要的方法和属性。因此,对应于用例所描述的动态视图,领…
[/Quote]
说的非常不错,支持
tshichun
2009-04-10
打赏
举报
回复
关注
Epiphone
2009-04-09
打赏
举报
回复
看你怎么分析了
首先分析你项目里的实体有多少实体 然后根据实体之间的关系去绘制UML图 在根据UML来建立数据库 我们没接一个项目的时候都是这样做的
领域模型---- 领域模型可以被看作是一个系统的概念模型,用于以可视化的形式描述系统中的各个实体及其之间的关系。领域模型记录了一个系统中的关键概念和词汇表,显示出了系统中的主要实体之间的关系,并确定了它们的重要的方法和属性。因此,对应于用例所描述的动态视图,领域模型提供了一种对整个系统的结构化的视图。领域模型的一个好处是描述并限制了系统边界。
领域模型的语义可以被用在源代码中,因此领域模型可以被应用在底层的软件开发阶段中。实体可以演化为类,方法和属性可以直接演化至代码之中。
在UML中,类图被用来描述领域模型。
领域对象 我认为就是你分析出来的各个实体 就是把现实中的东西抽象出来得到的java对象
DDD解决方案
领域
驱动设计(DDD)是一种解决复杂业务
问题
的有效方法,它强调以业务
领域
为中心,通过创建一个丰富的
领域
模型
来反映业务实体和业务规则。这种方法的核心在于识别和定义
领域
中的实体、值
对象
、聚合
领域
驱动设计(DDD)是一种以业务为核心的软件开发方法,通过构建丰富的
领域
模型
来应对复杂业务场景。文章介绍了DDD的分层架构、限界上下文概念及其在隔离模型边界中的作用,同时强调了与业务专家协作和持续集成的重要性,提升软件系统的可维护性和演化能力。
领域
建模的思想和方法
本文深入探讨了
领域
建模的思想,强调其在软件设计中的重要性。
领域
模型
反映了
问题
域的关键概念、类及关系,有助于提炼核心业务
对象
。文章详细介绍了
领域
模型
的构成,包括边界
对象
、实体
对象
和控制
对象
,以及它们之间的交互规则。通过实例展示了如何识别和建立
领域
类,并提出了
领域
类的识别策略和指导原则。此外,文章还讨论了关联、角色、多重性以及属性在
领域
模型
中的作用,强调在建模过程中应注重
领域
类的发现和定义,而非过度关注关联细节。
领域
模型
vs数据模型,应该怎么用?
本文探讨了
领域
模型
和数据模型的区别,强调了混淆两者可能导致的系统设计
问题
。
领域
模型
关注业务语义,而数据模型侧重于数据存储和扩展性。错误的做法包括将
领域
模型
当作数据模型(如过度依赖JSON存储业务逻辑),以及将数据模型当作
领域
模型
(如过度依赖数据扩展字段编程)。正确的策略是区分两者的职责,利用数据模型确保扩展性,而
领域
模型
则用于表达业务逻辑。文中提出了使用网关作为转义层来解耦数据
对象
和
领域
对象
,以提高系统可维护性。
领域
模型
DDD
领域
模型
是分析
问题
领域
的关键工具,它关注业务概念、实体及其关系。文章讨论了业务
对象
模型(
领域
模型
)的定义、核心元素,如业务角色、业务实体和业务用例,以及四种模型类型:失血模型、贫血模型(常见且推荐)、充血模型和胀血模型,每种模型都有其优缺点。在实际应用中,贫血模型因其结构清晰、易于维护而被推崇。
领域
驱动架构(DDD)建模中的模型到底是什么?
本文介绍了
领域
模型
和
领域
驱动设计(DDD)。
领域
模型
是业务功能场景在软件系统的映射,可助于分析业务
问题
。DDD是控制软件复杂度的方法论,具有统一语言、面向
对象
等优势。还阐述了DDD核心概念,如
领域
实体、聚合根、
领域
服务等。
Web 开发
81,111
社区成员
341,725
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章