我已经完成了关于域驱动设计的IMMENSE阅读量,并且使用该设计完成了一些相当复杂的项目.所有这些都有他们的缺陷和反模式,沿途实现.可以理解,因为这是一个学习过程.但是,我仍然坚持一个我似乎无法通过谷歌解决的主要概念(也许我只是没有提出正确的搜索条件)或者我自己的反复试验.
我已经阅读了几篇强调声称保持域模型和持久性模型分离的文章.除非ID具有域用途,否则不要让ID之类的内容泄漏到您的域模型中.根据该政策,如何在实践中坚持域模型?我读过的所有文章都在摘要中讨论这个问题,但我找不到一个不违反这个问题的具体例子.
我有一个相对庞大而复杂的Web应用程序,我正在构建并希望实现"最佳"域和持久性分离.我正在使用手动ORM(是的,是的,我知道 - 我不应该 - 等等等等 - 但是,基础表和查询太复杂了,不能使用像EF或NHibernate这样的东西).在大学的这个会计软件包中,我有总帐日记帐分录,结构如下:
Public Class Journal
Public Property AccountCode As SFSAccountCode = Nothing
Public Property Amount As Decimal = 0
Public Property BudgetCategory As BudgetCategory = Nothing
Public Property [Date] As DateTime = Nothing
Public Property ChildAccount As ChildAccount = Nothing
Public Property Description As String = ""
Public Property FiscalYear As SFSFiscalYear = Nothing
Public Property Fund As Fund = Nothing
Public Property JournalID As Int32 = -1
Public Property Notes As String …Run Code Online (Sandbox Code Playgroud)