在集会中分离责任

时间:2009-05-12 07:43:59

标签: architecture

我们正在开发一个Asp.net项目。它有两个部分,第一部分用于公共用户(用于互联网),另一部分用于组织内部使用。在 Intranet 方面,流程和对象更加复杂,庞大且复杂。

虽然这两个站点都将使用相同的数据库(使用SubSonic生成的DAL连接),因此两者可以有相同的库,但它们操纵对象的方式和涉及的业务逻辑是非常不同的在双方。现在我的困境是:

1)将bll文件保存在单独的名称空间中,例如(public.bllinternal.bll)和不同的项目(介意责任和业务逻辑对于两者都不同) /> 或
2)将所有的bll保留在一个名称空间(project.bll

(bll:Business Logic Layer,如Visual Studio中所用)

1 个答案:

答案 0 :(得分:1)

我认为你应该考虑第三种选择 - 分成三个组:

1) public.bll - 所有仅针对公共区域的逻辑。
  2) internal.bll - 所有仅针对内部区域的逻辑   3) shared.bll - 两个区域将使用的所有逻辑,例如DAL。

然后在两个项目中加入 shared.bll