Forewords:
I was facinated by the concept of design patterns, originally proposed by Christopher Alexander. By reading his books, The timeless Way of Building and The Nature of Order, I feel time flows back to my childhood, when I construct my original immature ideas about game, people and world. And as I grow up, I find something never change, the game, the people, and the world, they are still there, however evolves into another immature form, now my world is sorounded by adult toys like big houses, BMW car,fancy jobs, and now my childhood player partners all grow up to be adult game players, we play games like "start up companies". Each one of us, somewhere in his heart, is dominated with the dream to make a living world, a universe. For that dream we train ourselves with discipline, seek for good quality, and the underlying rules. In our life, is the central search of any person, and the crux of any individual person's story. It is the search for those moments and situations when we are most alive. To what extent our life patterns are alive, that let our inner forces loos, and set us free. And to what extent these patterns cannot be made, but only generated, indirectly, by the ordinary actions of people, just as a flower cannot be made, but only generated from the seed. For me, that's the essence of interaction design. So my series of patterns starts today, please enjoy the Beta version: Design patterns VS design models.
Design patterns VS design models
- Their differences, similarities, and more.
When talk about design tools, design patterns and design models are two buzzwords in interaction design domain. They are both very useful design tools, both categorized into design methods, and they are both extremely useful in specific areas. However, people rarely talked about their relationships, their similarities and differences, and the potential that they can support each other in design process, to empower users, support designers, and possibly bridge the gap between design research and practice. In this paper I'll discuss these areas, and hopefully this piece of knowledge will inspire designers in their own fashion of thinking and practicing design.
First of all. The definitions of design patterns and design models may vary by different interpretations. Here I'll start with the classic ones.
What is design pattern?
Design patterns are a way to capture optimal solutions to common problems in a specific context. It describes best practices, explain good designs, and capture experiences so that other people can reuse these solutions. This idea was introduced by the architect Christopher Alexander for use in urban planning and building architecture, and has been adapted for various other disciplines, including software architecture and design.
In Alexander's mind, A Pattern Language -- are an attempt to codify generations of architectural wisdom. They are not abstract principles that require you to rediscover how to apply them successfully, nor are they overly specific to one particular situation or culture. Instead, they are somewhere in between: a pattern describes possible good solutions to a common design problem within a certain context, by describing the invariant qualities of all those solutions.
For example, he recommends using the "Entrance Transition" pattern with homes or any other building that "thrives on a sense of exclusion from the world." The pattern describes what one must do to a doorway so that someone entering it feels as though they are coming into a private, safe space:
"Make a transition space between the street and the front door. Bring the path which connects street and entrance through this transition space, and mark it with a change of light, a change of sound, a change of direction, a change of surface, a change of level, perhaps by gateways which make a change of enclosure, and above all with a change of view." (From A Pattern Language, pg. 552.)
Note that the pattern is not just proscriptive. It describes something positive, something you can try to build, even though you would naturally vary it according to the particular situation. It doesn't simply say, "Never build a doorway without a change of level." Note also that it carries values - the value of a private space, the value of emotional comfort. Alexander's goal is not to make a building which is merely trendy, or efficient, or even good-looking; he is looking for ways to create a genuinely good experience for people, via their built environment.
Though pattern descriptions vary somewhat, a pattern is usually constructed with a rigorous structure:
* Pattern Name:
* Pattern Description:
* Problem Statement:
* Use When:
* Solution:
* Rationale:
* Examples:
Alexander argues the design pattern idea has three essential parts. First, design patterns(here he indicates architecture patterns)originates from collective intelligence of inhabitants(users),because architects only build the living space, the inhabitants build the living system and living culture. This user-generating nature can be easily transformed into user-centered design. Second, it has a moral component, meaning the living system patterns are inherently good, and life-enhancing, it stores some good quality of the context. Third, it must be life-generating, meaning patterns are live and dynamic patterns.
Designers can benefit from using patterns a lot, for example, novices can easily get some best practices and common approaches, patterns captures collective wisdom of designers across many uses and scenarios, provides teams a common language, so that resource misunderstanding that arise from different vocabulary, and ensure users have a consistent and predictable experience within an application or service. Also, I personally believe design patterns can be used for concept generation in user-centered design process, the values of design patterns are still being discovered.
What is design model?
In its most common usage, a design model is an abstract representation of an item or a concept—a car, a plane, or a building—or a part of something, such as a tire, a wing, or a room. Models are created in order to view, manipulate, or test the thing they represent without having to build the real thing. Designers use models and modeling every day to improve their work and their world.
For example, an architect draws a model of a building on paper to begin the design process without having to pick up a hammer or a nail. If the building is complex, the architect builds a small physical model of the building to judge its appearance and aesthetics; just as importantly, the model allows many others to see the architect’s conception, and to collaborate in improving it. Again, this is much less expensive than to actually construct the building. In the end, when actual construction occurs, there is a higher degree of confidence that the building can be built on time, within budget, and will work the way the designer predicted. As in the example of buildings, models provide a way to perfect a design in advance, fast and cheaply. In short, models reduce the gap between the intentions of the designer and the actual results. Using models, it is possible to build things better and more efficiently.
Similarities and differences.
It's not hard to find that design pattern and design model are significantly comparable and inherently distinguishable. The analysis is as below:
Similarities:
Design patterns and design models are both useful design methods. They both:
- Satisfies the system requirements.
- Resistant to changes in the implementation environment.
- It is clear how to implement.
- Direct designers to foresee the structure of final solutions.
- It is easily adapted to changes in requirements.
- The objectives of the model are clearly stated and visible.
- Can both be diagrammed.
- At an appropriate level of detail given the objectives.
- As simple as possible while still achieving the goals.
- Appears to be able to accommodate reasonably expected future change.
- Appropriate to the task at hand
- Appears to be understandable and maintainable
- They are both originate from a context, and can be applied to a similar context.
- They are both generating tools.
Differences:
- Design patterns are individually separate, while design models are inherently function as a whole
- Design patterns can be constructed as a pattern language because patterns are intertwined with each other, while there's no such a terms called model language.
- Design patterns have rigid structures, which design models can be plastic.
- Design patterns are explained in a more literal way, while design models are more abstract.
Connections:
In real practice we found design patterns and design models have more interesting connections. For example, Each pattern can be diagrammed as a design model because it's essentially a abstraction of a solution to a context. In design we often times find some models recur, it can be seen as a pattern in that way.
Future work
In future I'll explore how these two concepts benefit each other, for instance, whether there should be a pattern attach to a model, to make the models more descriptive and organized.