How to create a modular ASP.NET application ?

C

Canice

I'm working on a web application where 90% of it is common 'product'
code an the other 10% is customer specific.

I want some method of separating the customer specific presentation,
business and data access layers from the product code as I don't the
main product code to be bloated with customer specific code.

Ideally I'd like to have one solution for the product and one for each
customer. However I haven't found a way to separate the presentation
layer.
I thought that the Web Client Software Factory would work, however it
still requires the .aspx files for the modules to be part of the main
web-site/application - which doesn't seem very modular.

I would also like to be able to use the ASP.NET 2.0 features like
master pages, themes etc.

Anyone have experience of such a solution or should I just give up on
a modular approach :)

Thanks,
CJB.
 
C

Cowboy \(Gregory A. Beamer\)

Move your functionality into the business layer, where it belongs. Add a
facade to aid the UI layer. And, if there is any business that is client
specific, put into its own library.

You can, in general, leave the ASPX files alone and use Themes for client
specific. On the pieces that the form works the same, essentially, for all
implementations, but slightly different for client, make a client version of
a library.

Experience? Sure, I am in the process of doing it now. It is a bugger to get
it right and you have to plan it out on paper before getting too far into
coding. If you are still embedding code in your ASPX pages, quit it now. It
will not be modular.

If you are not well-versed in tiered development, consider purchasing the
Design Pattern Framework 2.0 from dofactory.com. It is cheap and will teach
you patterns in addition to giving you a reference architecture.
 
C

Canice

Move your functionality into the business layer, where it belongs. Add a
facade to aid the UI layer. And, if there is any business that is client
specific, put into its own library.

You can, in general, leave the ASPX files alone and use Themes for client
specific. On the pieces that the form works the same, essentially, for all
implementations, but slightly different for client, make a client version of
a library.

Experience? Sure, I am in the process of doing it now. It is a bugger to get
it right and you have to plan it out on paper before getting too far into
coding. If you are still embedding code in your ASPX pages, quit it now. It
will not be modular.

If you are not well-versed in tiered development, consider purchasing the
Design Pattern Framework 2.0 from dofactory.com. It is cheap and will teach
you patterns in addition to giving you a reference architecture.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBAhttp://gregorybeamer.spaces.live.com
Co-author: Microsoft Expression Web Bible (upcoming)

************************************************
Think outside the box!

Thanks for the reply Gregory.

The application will be split into DAL, Business and Presentations
layered and within the presentation layer I'm using the MVP pattern,
so all that will be in the ASPX pages is the asp.net controls, HTML
etc. Any UI related logic will be in the Presenter class and all
business logic will be in a another layer.

However some of these ASPX pages will still be customer specific and
I'd prefer not to deploy them with every install.

Regards,
Canice.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,014
Latest member
BiancaFix3

Latest Threads

Top