什么是A Domain Model类?你是如何创造一个的?

时间:2010-08-06 01:04:40

标签: database language-agnostic uml

我已经在UML中看到了域模型的想法,但我从未有机会在实际代码中使用它们。现在我在this article

中的数据库中看到它们,特别是SQL编码

有一个引用提到了域模型类:

  

我可以设计域模型类   包含普通SQL就像我一样容易   可以设计运行的类   数据库通过ORM层。留在   请注意,ActiveRecord不是域名   模型。

如何创建域类呢?当我在“建模环境”甚至“编程环境”中时,当我处于“数据库环境”时,它是否有所不同?

2 个答案:

答案 0 :(得分:0)

域模型没有数据库的概念。它应该是问题域的逻辑表示。您可能已经在某个程度上在每个项目中使用了域模型。

为了将域模型与数据库联系起来,Repository模式可以成为一个出色的中介。

答案 1 :(得分:0)

您是否看过其中一个Omondo UML示例,其中展示了如何使用对象方法并在UML图中可视化您的域?

在我看来,使用UML进行ORM建模并不是一项成熟的技术,因为只有Omondo EclipseUML才能提供这些ORM功能?其他UML工具无法生成Java注释或反转它们。它们从模型生成代码但不生成ORM或JPA注释,因为它们直接生成一种对我来说不是对象方法的数据库。如果UML工具生成数据库,因为数据库不是对象,这是没有意义的吗?这就是Omondo生成ORM注释并让映射器完成其工作的方法应该做的原因。在我的公司中,我们创建了我们的模型,然后让数据库管理员添加与java注释同步的UML构造型。最后我们将所有项目都交给了开发团队。代码非常干净,以后可以轻松集成。它是使用Eclipse和maven从模型到数据库的持续集成。它工作得非常好。

我在最近几个项目中使用过UML和ORM。它真的非常强大!!我想我们将来会看到更多使用ORM和UML建模的项目。