G
Guest
When one architects a new project one of the first steps in the decision is
to decide on the layers. (In my opinion anyway)
One architecture that I have used before is to go solid OO and create
objects, which normally are very small and only deals with the stuff
pertaining to that object, then break it down into Business Process, Process
Controllers and Data Access Objects for each "Object", each of which is
created in it's very own .Net project and becomes a completely separate
assembly (Dll). The thing is that the assemblies are often very small.
Another way is to dump all the Business components for an entire application
together into a single assembly. Doing the same for the DAL and the BPC's
essentially creating only a few larger assemblies.
Personally I like the first option, since I don't have to load this monster
assembly into memory to start only one class and execute one or two small
methods. Also, it makes more logical sense (to me anyway) and is therefore
more manageable.
One problem with this though is that on large applications you could end up
with hundreds of projects in a single solution, but that can easily be
overcome as we all know by just creating smaller work specific solutions.
What would be the Best Practise kind of answer to this?
Thanks
David
to decide on the layers. (In my opinion anyway)
One architecture that I have used before is to go solid OO and create
objects, which normally are very small and only deals with the stuff
pertaining to that object, then break it down into Business Process, Process
Controllers and Data Access Objects for each "Object", each of which is
created in it's very own .Net project and becomes a completely separate
assembly (Dll). The thing is that the assemblies are often very small.
Another way is to dump all the Business components for an entire application
together into a single assembly. Doing the same for the DAL and the BPC's
essentially creating only a few larger assemblies.
Personally I like the first option, since I don't have to load this monster
assembly into memory to start only one class and execute one or two small
methods. Also, it makes more logical sense (to me anyway) and is therefore
more manageable.
One problem with this though is that on large applications you could end up
with hundreds of projects in a single solution, but that can easily be
overcome as we all know by just creating smaller work specific solutions.
What would be the Best Practise kind of answer to this?
Thanks
David