A
Andy Fish
Hi,
I am about to commence the design of what will turn out to be a fairly large
asp.net web app, and I am looking for any good advice and resources (books,
web pages) concerning how best to structure it.
I would consider myself an experienced software designer and technical
architect - I certainly know enough to know that I don't know everything,
and I'm keen to pick up on current best practice. I have architected large
server apps before, so I'm happy with that aspect of it (SOA and stuff).
also I understand the .net technology and tools from the bottom-up. it's
just paradigms and frameworks for a web UI that I'm missing. I've worked on
several web apps (designed by other people) before and I haven't been
entirely satisfied with the design of any of them.
I don't think there is anything unusual about this app - it will have
screens where the user interacts with a web form, then navigates to
different screens. probably there will be some stuff in pop-up windows. I
expect the app to grow organically so I don't want to tie down the
structure.
Here are a few specific (interrelated) issues
1. whether to use MVC. I have worked on one web-based app (java servlet)
that used MVC. I found it very confusing to understand and I didn't really
see any benefit.
2. should I use winforms for the UI?. If so, how should I handle the
potential to re-brand the app for different customers?. One app I worked on
had all the business logic generating XML that was rendered through XSLT to
make the UI, which I think worked fairly well but it often meant that a
change required 2 sets of updates
3. how to handle navigation between the forms. should I just build the
navigation into the screens (using a combination of <a href>,
document.location.href and Response.Redirect as I see fit), or should I try
to build each UI module separately with known entry and exit points and then
have a separate generic mechanism for specifying how they link to each
other?
4. should I design each page as a separate entry point or should I have a
single entry point like "main.aspx?action=showuserdetails"
many thanks in advance for any suggestions
Andy
I am about to commence the design of what will turn out to be a fairly large
asp.net web app, and I am looking for any good advice and resources (books,
web pages) concerning how best to structure it.
I would consider myself an experienced software designer and technical
architect - I certainly know enough to know that I don't know everything,
and I'm keen to pick up on current best practice. I have architected large
server apps before, so I'm happy with that aspect of it (SOA and stuff).
also I understand the .net technology and tools from the bottom-up. it's
just paradigms and frameworks for a web UI that I'm missing. I've worked on
several web apps (designed by other people) before and I haven't been
entirely satisfied with the design of any of them.
I don't think there is anything unusual about this app - it will have
screens where the user interacts with a web form, then navigates to
different screens. probably there will be some stuff in pop-up windows. I
expect the app to grow organically so I don't want to tie down the
structure.
Here are a few specific (interrelated) issues
1. whether to use MVC. I have worked on one web-based app (java servlet)
that used MVC. I found it very confusing to understand and I didn't really
see any benefit.
2. should I use winforms for the UI?. If so, how should I handle the
potential to re-brand the app for different customers?. One app I worked on
had all the business logic generating XML that was rendered through XSLT to
make the UI, which I think worked fairly well but it often meant that a
change required 2 sets of updates
3. how to handle navigation between the forms. should I just build the
navigation into the screens (using a combination of <a href>,
document.location.href and Response.Redirect as I see fit), or should I try
to build each UI module separately with known entry and exit points and then
have a separate generic mechanism for specifying how they link to each
other?
4. should I design each page as a separate entry point or should I have a
single entry point like "main.aspx?action=showuserdetails"
many thanks in advance for any suggestions
Andy