design that addresses a recurring design problem in object-oriented systems. ! It describes the problem, the solution, when to apply the solution, and its consequences. ! It also gives implementation hints and examples. ! The solution is a general arrangement of objects and classes that solve the problem. The solution is customized and implemented to solve the problem in a particular context.
than can capture them. For example, objects that represent a process or algorithm don’t occur in nature, yet they are a crucial part of flexible designs.”
to write simple code! Patterns, like all forms of complexity, should be avoided until they are absolutely necessary. That’s the first thing beginners need to learn. Not the last thing. ” — Jeff Atwood c. 2005
apply to things like software anyhow. I agree that most software —at least the software I see—doesn’t have such a quality, but does that mean it couldn’t? I find it odd, though, to take so much inspiration from the simple, mechanical parts of a person’s work—the form of the pattern language and terms like forces—but to ignore the heart of it. I’m not so sure the quality without a name is irrelevant.” — Richard P. Gabriel Patterns of Software, pp 71
do with languages. The language, and the processes which stem from it, merely release the fundamental order which is native to us.” — The Timeless Way of Building, Chapter 27
what we know already, and of what we shall discover time and time again, when we give up our opinions, and do exactly what emerges from ourselves.” — The Timeless Way of Building, Chapter 27
of all his willful images, and start with a void. You are able to do this only when you no longer fear that nothing will happen, and you can therefore afford to let go of your images. At this stage, the building’s life will come directly from your language.” — The Timeless Way of Building, Chapter 27
and let the language generate the buildings in your mind, you will begin to see how limited your language is. One place can have good patterns in it and be dead. Another place can be without the patterns which apply to it, and yet still be alive. ” — The Timeless Way of Building, Chapter 27
longer necessary to you. You see reality directly, like an animal. You make the alcove as an animal might make an alcove–not because of the concept– but directly, simply because it is appropriate.” — The Timeless Way of Building, Chapter 27