在 .NET(Winforms、WPF、ASP.NET)上创建更大规模的企业级应用程序时,我看到了两个主要的“思想流派”。
有些人使用“存储库模式”,它使用知道如何获取、插入、更新和删除对象的存储库。这些对象相当“愚蠢”,因为它们不一定包含大量逻辑——例如,它们或多或少是数据传输对象。
另一个阵营使用我所谓的“智能”业务对象,它们知道如何加载自己,它们通常有一个 Save()、可能是 Update() 甚至是 Delete() 方法。在这里,您真的不需要任何存储库 - 对象本身知道如何加载和保存自己。
大问题是:您使用或喜欢哪个?为什么?
您是否在所有应用程序中使用相同的方法,或者您是否有任何特定标准何时选择一种方法而不是另一种?如果是这样 - 这些标准是什么?
我并不是想在这里发起一场激烈的战争——只是想了解每个人对此的看法以及您的意见,以及为什么您使用一种(或两种)模式而不是另一种模式。
感谢您的任何建设性意见!