views:

107

answers:

1

Hi All, We are working on an Asp.net project. It has two parts, first one is for the public users (to be used on internet) and other one is for internal use inside the organization. The processes and objects are more complicated, vast and intricate on the intranet side.

Though both the sites will be using the same database (to be connected with using DAL generated by SubSonic) so there can be same library for both but the way they manipulate the objects and business logic involved is very different on both sides. Now my dilemma is:

1) to keep bll files in separate namespaces like (public.bll, internal.bll) and different projects (mind the responsibilities and business logic is different for both)
or
2) keep all the blls in one namespace (project.bll)

(bll: Business Logic Layer, as used here in Visual Studio)

+1  A: 

I think you should consider a third option - splitting into three groups:

1) public.bll - all the logic that is specific only to the public area.
2) internal.bll - all the logic that is specific only to the internal area.
3) shared.bll - all the logic that both areas will use, for example the DAL.

You then include shared.bll in both projects.

Tomas Lycken