假设我有一个带有Web项目,BLL项目和DAL项目的Visual Studio解决方案。我正在尝试遵循存储库模式,将我的SQL代码保存在DAL中,并使用BLL引用的接口。
我有一些常见的解决方案,例如错误处理,使用记录和其他可以被视为实用程序功能的东西(即不在业务规范中)。我将这些保存在一个Common项目中。
以下是关于构建Common项目的一些想法...
其中一个想法比另一个更好/更差吗?有没有人有更好的解决方案?
值得注意的是,这些实用程序功能将在各种其他应用程序中重用。
答案 0 :(得分:0)
您是否考虑创建可以提供服务的内容,而不是创建将使用的Utilities项目?您可能希望查看Aspect Oriented Programming。当我看到你列出你的例子错误处理,记录等时,红旗上升了。那些尖叫AOP。
但是如果你想坚持你的布局。
我认为我会选择2,假设这意味着重组公用事业项目更具凝聚力。
我不明白(请澄清,我会编辑我的帖子)
- 将SQL与给定类中的逻辑捆绑在一起
醇>
至于:
放弃Common项目并将实用程序功能放入BLL / DAL
我反对这样做。如果真的要重复这个逻辑,就没有必要把它推回到你的项目中。这将导致重复的代码和增加的维护。
旁注:
正如经验教训一样,公用事业项目工作的唯一方式是,如果您是唯一的开发人员或,那么它的文档和设计都很好。有时,实用程序是程序员特定的,或者是以只有特定编码器风格的方式编写的。 我看到无数次人们重新设计他们的基础设施,拔出各种公用事业,只看到他们的公用事业项目永远不会被使用。确保您创建的“实用程序”对其他人真正有用。