Meditate on these, and you may achieve some enlightenment :)
Steve's first law of good architecture:
Identify all core services to the application. Code against the interface of the service you wish you had, not to the implementation of the one you actually have.
Steve's second law of good architecture:
Keep as much information as possible in an accessible, declarative form. This will eliminate duplication, and enable your software to be discarded and re-written without losing quite as much.
Corollary to Steve's second law of good architecture:
A particular application domain is effectively solved (and no longer requires custom code) once all information about the application can be represented in declarative form.
Another Corollary Steve's second law of good architecture:
When using a tool to generate some or all of an application, ensure that the declarative data of the tool is stored in an accessible form.
Steve's third law of good architecture:
Usable components may evolve, but practical, re-usable components must be designed.
Corollary to Steve's third law of good architecture:
Component re-use is only practical once you have designed an approachable, stable interface to the component.
Enlightenment Image by Sakka, licensed under Creative Commons ShareAlike version 2.5

0 comments:
Post a Comment