Qualities, Principles, Practices

I'm going to be using these terms quite a bit, so it might be useful to explain how I am using them, just for the sake of clarity.

By quality, I am referring to an aspect of design that is desirable or, if missing, is a deficit. In general, the qualities I look for make it easier to change things, since maintenance is the major expense in most systems.

By principle, I mean general guidance about design, concepts that can inform our decisions in many different ways depending on circumstances. Principles are almost never perfectly achievable, but they are always important to keep in mind. The Golden Rule is a principle that we try to follow in polite society. Do we follow it all the time? No, but we try to as much as possible. That's the sort of thing I mean.

By practice, I am referring to actions we take which have been accepted as universally good. Doctors always clean their hands and instruments. Carpenters always measure twice before they cut. Lawyers always preserve all documents. Software has these “always” actions as well, and I want to examine/promote a few.

I will start with the qualities that all patterns share, then the principles they follow. Then after I write about the patterns themselves, I will cover some good practices that they promote.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.91.47