商务舱和域名类有什么区别?持久类是什么意思?

2022-09-01 08:16:00

商务舱和域名类有什么区别?持久类是什么意思?


答案 1

域类来自域模型的类,Martin Fowler 在企业应用程序体系结构的模式中描述如下:

包含行为和数据的域的对象模型。

alt text

在最坏的情况下,业务逻辑可能非常复杂。规则和逻辑描述了许多不同的行为案例和倾向,而对象被设计用来处理的复杂性。域模型创建一个相互关联的对象网络,其中每个对象都表示一些有意义的个人,无论是像公司一样大,还是像订单上的一行一样小。

对我来说,与业务类没有区别:业务对象不比域对象执行更多或更少的业务逻辑(在域对象之外实现业务逻辑的域模型称为Anemic域模型,这是一个贬义词),域对象和业务对象一回事。

最后,持久类是一个可以...持久化,这意味着将信息的内存表示形式传输到物理存储中,该物理存储将在 JVM 的存活时间之后持续存在。通常,持久性是使用数据库实现的(但这不是唯一的解决方案,例如,请参阅对象流行率)。典型的持久性操作包括创建、读取、更新和删除,这些操作称为 CRUD 操作。域对象通常是持久的,即您可以通过隐藏所选持久性引擎的底层详细信息的API对它们执行CRUD操作。


答案 2

“域”类是对数据进行建模的类。它通常用于将数据从数据存储(例如数据库)映射到内存中对象。业务类是应用程序使用的类。它可以与域类相同,并且通常执行某种业务逻辑或处理。

持久性是指将对象状态保存到某些数据存储(例如.xml、文本文件或更常见的数据库)的能力。因此,无论应用程序是否正在运行,这种对象的状态都会“持久化”。

在我看来,你对对象/关系映射感到好奇。我建议阅读这篇维基百科文章以开始使用。