分开或不分开biz& .NET中每个项目的数据层

时间:2009-10-07 18:44:12

标签: asp.net

目前,我的业务逻辑单独项目和数据访问的单独项目。然后我有一个购物车网站,内联网,外联网等各种其他项目。这些网站都使用商业和娱乐。上面提到的数据项目。

我今天的任务是让所有这些项目都使用biz&服务器上的数据项目。我现在知道项目只是将DLL本地复制到项目中。然后我开始思考 - 我将对购物车网站进行重大更改,包括数据库架构更改,因此我将不得不更新DL& BL。所以,如果我复制一个新的DLL,我怎么能记住它是否会打破别的东西呢?我正在看这个错误的方式?我是否应该为每个项目分别进行商业逻辑和数据访问而不是集中化?

3 个答案:

答案 0 :(得分:1)

理论上,您应该有一个Visual Studio解决方案,其中包含所有这些项目,并且它们都引用您的业务和数据“层”项目。这样,如果对它们进行更改,则在重新编译解决方案时可以避免更改。

我做了很多次;我现在有一个解决方案,它包含一个网站,一个桌面客户端和几个共享的DLL。如果我对核心DLL做出重大改变,我就会知道。

在解决方案中,项目相互引用。这样,我重新编译时会更新项目间引用。

如果你没有充分利用解决方案,你应该是。

答案 1 :(得分:0)

老实说,我认为你设置你的东西的方式更正确,然后把它全部放在一个项目中。这不仅强制了层之间的分离,而且还使代码更易于维护。

祝你好运, 麦克

答案 2 :(得分:0)

  

我将对购物车网站进行重大更改,包括数据库架构更改,因此我将不得不更新DL& BL。

首先,按照建议,应该将所有这些项目放在一个解决方案中,以便在编译时捕获损坏的依赖项。但是,如果更改架构/ DL以支持更改,然后仅部署需要修改的一个项目,则仍会遇到问题。正如您所指出的,他们每个人都会得到自己编译的BL / DL DLL的副本。我们在公司处理此问题的方法是,如果对DL进行任何更改,则始终在解决方案中重建/重新部署每个项目。