请教 领域模型和领域对象 问题

xubin1204 2009-04-09 10:24:11
请问:
1,领域模型是什么
2,领域对象是什么
3,实体类和实体对象是什么
4,四者和UML有什么关系
谢谢
...全文
1282 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pojia 2009-05-31
  • 打赏
  • 举报
回复
我也在关注这个问题,个人认为,领域模型在不同的社区可以有不同理解; 比如它可以当商业模型,当设计模型;
当它是商业模型时,就如2楼描述的是对现实世界对象的可视化,UP里面也把它说成概念模型,领域对象模型,分析对象模型;
当它被认为是设计模型时候,我认为又有两个分支理解,一个是简单理解为领域层,也就是包含entity 和value object, 这种理解在uml and pattern这本书由描述, 另外一种理解是,也是我个人的理解,领域模型和MVC模型一样,需要由多个元素,架构等来体现,比如它要包含领域层,基础设施层,服务层;根据业务逻辑的在层中的分布,表达不同架构特征,又开始分为失血,贫血,充血,胀血模型,,当然在细分的话,又有很多概念,什么胖瘦反模型啊这些
  • 打赏
  • 举报
回复
楼主可以参考一下,下面这个实例来理解领域模型,引用自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的延伸讨论
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Epiphone 的回复:]
看你怎么分析了
首先分析你项目里的实体有多少实体 然后根据实体之间的关系去绘制UML图 在根据UML来建立数据库 我们没接一个项目的时候都是这样做的
领域模型---- 领域模型可以被看作是一个系统的概念模型,用于以可视化的形式描述系统中的各个实体及其之间的关系。领域模型记录了一个系统中的关键概念和词汇表,显示出了系统中的主要实体之间的关系,并确定了它们的重要的方法和属性。因此,对应于用例所描述的动态视图,领…
[/Quote]
说的非常不错,支持
tshichun 2009-04-10
  • 打赏
  • 举报
回复
关注
Epiphone 2009-04-09
  • 打赏
  • 举报
回复
看你怎么分析了
首先分析你项目里的实体有多少实体 然后根据实体之间的关系去绘制UML图 在根据UML来建立数据库 我们没接一个项目的时候都是这样做的
领域模型---- 领域模型可以被看作是一个系统的概念模型,用于以可视化的形式描述系统中的各个实体及其之间的关系。领域模型记录了一个系统中的关键概念和词汇表,显示出了系统中的主要实体之间的关系,并确定了它们的重要的方法和属性。因此,对应于用例所描述的动态视图,领域模型提供了一种对整个系统的结构化的视图。领域模型的一个好处是描述并限制了系统边界。

领域模型的语义可以被用在源代码中,因此领域模型可以被应用在底层的软件开发阶段中。实体可以演化为类,方法和属性可以直接演化至代码之中。

在UML中,类图被用来描述领域模型。
领域对象 我认为就是你分析出来的各个实体 就是把现实中的东西抽象出来得到的java对象

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧