Forum OpenACS Q&A: Re: Extensibility in OpenACS - Four Architecture Options

Hi Frank, 

i had similar experiences, when i saw my first c++ program and 
could not figure out, what is going on, when the  
software crashed after each small change. oo is no guarantee
for good software at all. refactoring is certainly a key
aspect, as well as determining hot-spots and stable elements.

From the software engineering point of view, i would
recommend to have a look at software product lines
  http://www.sei.cmu.edu/productlines/index.html
  http://www.awprofessional.com/bookstore/product.asp?isbn=0201703327&redir=1
  
http://www.awprofessional.com/bookstore/product.asp?isbn=0201674947&redir=1

which adresses the problem where a common software core 
is tailored for several customers, where fixes and 
improvements should propagate to the tailored versions.
The idea of product lines is taken from automobiles
industry, where more or less the same base-line components
are used in various brand names (e.g. VW, Audi, Skoda, Seat)

best regards
-gustaf