业务类和域类有什么区别?持久类是什么意思?业务类和域类有什么区别?持久类是什么意思?
回答
“域”类是模拟数据的类。它通常用于将数据存储区(例如数据库)中的数据映射到内存中的对象。业务类是您的应用程序使用的类。它可以与域类相同,并且通常执行某种业务逻辑或处理。
持久性是指将对象状态保存到某些数据存储(例如xml,文本文件或更常见的数据库)的能力。所以这种对象的状态会“持续”,无论应用程序是否在运行。
这听起来像你对对象/关系映射好奇。我建议您阅读this wikipedia article开始。
业务类别是为特定项目设计和使用的类,难以重用于其他项目。
域类是为特定域设计和使用的类,可供多个执行类似事情的项目使用。
例如,JDBC类是数据库访问的域类。 Swing类是用于GUI构建和操作的域类。 Form1
其中包含一组用于显示“Hello World”消息的组件,是商务类。
该条款业务和域名经常使用同义词。就个人而言,我更喜欢域名模式,域名对象等,因为他们不受限于处理业务(无论如何)。
作为示例,我们在Safewhere中主要使用基于声明的身份和授权。我们建模的概念与传统的“商业”很少相同,所以在这种情况下,我认为域名模型是一个更合适的术语。
业务类提供域特定的逻辑。
域类是表示域的一部分的实体。
服务器重新启动后(数据通常存储在某种数据库中),持久性类或更好的持久性实例具有相同的数据。
让我们以银行交易为例。您将拥有持久域名类Account
。我的Account
(实例)将具有值为1000的字段Balance
。
它处理借记卡交易的商业逻辑是一样的东西AccountDebit
并具有作为方法debitAccount(Account account, int amount)
,并随着业务的逻辑
int balance = account.getBalance();
if (balance < amount) {
throw exception("You're too poor");
}
balance = balance - amount;
account.setBalance(balance);
account.commit(); // save the values to persistent store
而且我知道这些钱通常不是一个int,并且扣除额通常存入别人:)
一个领域类是,马丁·福勒描述为按照Patterns of Enterprise Application Architecture的Domain Model类:
合并行为和数据的域的对象模型。
在最坏的业务逻辑可能会非常复杂。规则和逻辑描述了许多不同的情况和行为倾向,并且这些对象被设计用来处理这种复杂性。领域模型创建一个互联对象网络,其中每个对象都代表一些有意义的个体,无论其规模与公司一样大,还是小到订单上的一行。
而对于我来说,是一个商务舱没有区别:一个业务对象不执行比域对象(其中业务逻辑域对象之外实现的领域模型或多或少的商业逻辑被称为Anemic Domain Model,这是一个贬义词),域对象和business objects都是是同样的东西。
最后,持久类是一个类,它可以...持久化,即将内存中的信息表示转移到物理存储器,该存储器将持久存储在JVM的活动之外。通常,持久性是使用数据库实现的(但这不是唯一的解决方案,请参阅object prevalence)。典型的持久化操作包括创建,读取,更新和删除,这些被称为CRUD操作。域对象通常是持久性的,即您可以通过隐藏所选持久性引擎的基础详细信息的API对它们执行CRUD操作。
- 1. “域”和“持久性”是什么意思?
- 2. “const类”是什么意思?
- 3. Debug类和Trace类有什么区别?
- 4. ConfigurationManager类和Settings类有什么区别?
- 5. HostingEnvironment类和HttpRuntime类有什么区别?
- 6. 子类和子类有什么区别?
- 7. java.awt.Rectangle类和java.awt.geom.Rectangle2D.Double类有什么区别?
- 8. WCF和RIA服务域服务类有什么区别?
- 9. 什么意思是“:”在<%中:和<%=有什么区别?
- 10. Scala - 什么是类型输入,Input.Source和Input.Offset是什么意思?
- 11. cv :: Scalar类型是什么意思?
- 12. CONFIGRET返回类型是什么意思?
- 13. 类图中的“a”是什么意思?
- 14. 参数化类型是什么意思?
- 15. typedef类Smth是什么意思?
- 16. JProfiler - [n类]是什么意思?
- 17. __vfptr类型的`*`是什么意思?
- 18. Haskell - Ord类型是什么意思?
- 19. 摧毁一个类是什么意思
- 20. “链接到超类”是什么意思?
- 21. “多基类”是什么意思?
- 22. “非法类文字”是什么意思?
- 23. Elasticsearch中的“类型”是什么意思?
- 24. Syncano类和SyncanoDashboard有什么区别?
- 25. gRPC和Beta gRPC类有什么区别?
- 26. 抽象类和Mixin有什么区别?
- 27. Helper和Utility类有什么区别?
- 28. 聚类和匹配有什么区别?
- 29. CommaIO和Comma7IO类有什么区别?
- 30. super()和Parent类名有什么区别?