如何在多项目解决方案中构建实用程序/协同项目

时间:2010-08-04 12:25:41

标签: asp.net design-patterns class projects-and-solutions

假设我有一个带有Web项目,BLL项目和DAL项目的Visual Studio解决方案。我正在尝试遵循存储库模式,将我的SQL代码保存在DAL中,并使用BLL引用的接口。

我有一些常见的解决方案,例如错误处理,使用记录和其他可以被视为实用程序功能的东西(即不在业务规范中)。我将这些保存在一个Common项目中。

以下是关于构建Common项目的一些想法...

  1. 将SQL与给定类中的逻辑捆绑在一起
  2. 在Common项目
  3. 中创建分层解决方案
  4. 放弃Common项目并将实用程序功能放入BLL / DAL
  5. 其中一个想法比另一个更好/更差吗?有没有人有更好的解决方案?

    值得注意的是,这些实用程序功能将在各种其他应用程序中重用。

1 个答案:

答案 0 :(得分:0)

您是否考虑创建可以提供服务的内容,而不是创建将使用的Utilities项目?您可能希望查看Aspect Oriented Programming。当我看到你列出你的例子错误处理,记录等时,红旗上升了。那些尖叫AOP。

但是如果你想坚持你的布局。

我认为我会选择2,假设这意味着重组公用事业项目更具凝聚力。

我不明白(请澄清,我会编辑我的帖子)

  
      
  1. 将SQL与给定类中的逻辑捆绑在一起
  2.   

至于:

  

放弃Common项目并将实用程序功能放入BLL / DAL

我反对这样做。如果真的要重复这个逻辑,就没有必要把它推回到你的项目中。这将导致重复的代码和增加的维护。

旁注:

正如经验教训一样,公用事业项目工作的唯一方式是,如果您是唯一的开发人员,那么它的文档和设计都很好。有时,实用程序是程序员特定的,或者是以只有特定编码器风格的方式编写的。 我看到无数次人们重新设计他们的基础设施,拔出各种公用事业,只看到他们的公用事业项目永远不会被使用。确保您创建的“实用程序”对其他人真正有用。