在 .NET 上创建更大规模的企业级应用程序时,我看到两个主要的“思想流派”(Winforms、WPF、ASP.NET)。
有些人使用“存储库模式”,该模式使用知道如何获取、插入、更新和删除对象的存储库。这些对象相当“愚蠢”,因为它们不一定包含大量逻辑 - 例如它们或多或少是数据传输对象。
另一个阵营使用我所说的“智能”业务对象,它们知道如何加载自身,并且它们通常具有 Save()、可能的 Update() 甚至 Delete() 方法。在这里,您确实不需要任何存储库 - 对象本身知道如何加载和保存自己。
大问题是:您使用或更喜欢哪个?为什么?
您是否在所有应用中使用相同的方法,或者您在选择一种方法而不是另一种方法时是否有任何特定标准?如果是这样 - 这些标准是什么?
我并不是想在这里引发一场激烈的争论 - 只是想了解每个人对此的看法以及您的意见是什么,以及为什么您使用一种(或两种)模式而不是另一种模式。
感谢您提供任何建设性意见!
最佳答案
由于单一职责原则,我使用存储库模式。我不希望每个单独的对象都必须知道如何保存、更新、删除自身,而这可以由一个通用存储库来处理
关于data-structures - 存储库模式与 "smart"业务对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/888911/