Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Say my company is going to build a complicated web form education system. One of the module is web based registration. To make it flexiable, we decide to use user control(ascx) with rule-engine (work flow) regulating all business logic behide them. Thus in future,for different clients, we can simply config basic existing rules or adding new rules.(Rules stored in db or XML per client).

Now the question is how to deal with the user controls (ascx)? My opinion is for different client build diffrent user control from scratch. other voice is like reuse existing user controls.

share|improve this question
If you found an answer helpful make sure you go back and mark it as the correct answer. – ryan Nov 25 '12 at 4:02
up vote 1 down vote accepted

Well it depends, if each client has their own functions that are unique to how they use the application then yea, build the user controls from scratch.

If they don't, they basically are all doing the same thing just need it branded or whatever for their corporation, then their is no point re-inventing the wheel.

My company handles it like this: We have a central platform that all our websites are based off of. If a particular website and form application isn't that different from our base generic one then we build on top of that central platform.

If the application form is significantly different, then we branch our main platform and create a new project for that individual program. So that we don't end up with a ton of spaghetti program-specific code in our models/controllers.

TLDC: Don't decide now, be flexible, ultimately it should be determined by the client; which one will create the least amount of work, and the most maintainable platform.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.