2010-08-04 42 views
0

假设我有一个带有Web项目,BLL项目和DAL项目的Visual Studio解决方案。我试图按照存储库模式保留我的SQL代码与BLL引用的接口的DAL。如何在多项目解决方案中构建实用程序/伴随项目

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

这里有一些想法,我已经受够了关于构建公共项目...

  1. SQL捆绑在一个给定的类逻辑
  2. 创建公共项目中的分层解决方案
  3. 放弃Common项目并将实用功能与BLL/DAL配合使用

其中一个想法比其他想法更好/更差吗?有没有人有更好的解决方案?

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

+0

你能说清楚你的意思吗?(将SQL与逻辑捆绑在一起...) – Nix 2010-08-04 12:41:11

回答

0

而不是创建将使用的实用程序项目您是否想过创建可以提供服务的东西?你可能想看看Aspect Oriented Programming。当我看到你列举了你的例子错误处理,日志记录等等时,红旗升起。那些尖叫的AOP。

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

我想我会和2一起去,假设这意味着重组公用事业项目变得更加凝聚力。

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

  1. 捆绑SQL与逻辑在​​给定的类

至于:

放弃Common项目并将实用功能与BLL/DAL

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

侧面说明:

正如一个教训,只有公用事业项目的工作方式,是如果你是唯一的开发这是有据可查的,精心设计的。有时候,实用程序对程序员来说太具体,或者只是以一种特定编码器风格的方式编写。 我已经看到无数次人们重新调整他们的基础设施,从中抽出各种公用事业,只是看到他们的公用事业项目永远不会被使用。确保你创建的“工具”对其他人真正有用。

相关问题