By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,760 Members | 1,630 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,760 IT Pros & Developers. It's quick & easy.

How to create a modular ASP.NET application ?

P: n/a

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.

Aug 1 '07 #1
Share this Question
Share on Google+
2 Replies


P: n/a
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, DBA
http://gregorybeamer.spaces.live.com
Co-author: Microsoft Expression Web Bible (upcoming)

************************************************
Think outside the box!
************************************************
"Canice" <ca*********@crestsolutions.iewrote in message
news:11**********************@g4g2000hsf.googlegro ups.com...
>
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.

Aug 1 '07 #2

P: n/a
On Aug 1, 4:07 pm, "Cowboy \(Gregory A. Beamer\)"
<NoSpamMgbwo...@comcast.netNoSpamMwrote:
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!
************************************************"C anice" <canice.b...@crestsolutions.iewrote in message

news:11**********************@g4g2000hsf.googlegro ups.com...
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.
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.

Aug 2 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.