What is a Design Pattern?
What is a design pattern?
A design pattern is often described as a “proven solution to a common problem in a specified context.” Stated another way, a design pattern is an expression of good design practice that addresses a problem that occurs over and over again in different situations.
An example: a door
The common door is a great example to consider for a design pattern. What problem does a door solve? How does a door solve it? By thinking of answers to these questions, you’re well on your way to thinking about design patterns!
Let’s give this a try…
A door provides a way to isolate one room from another for purposes like privacy, safety (fire barrier), and aesthetics. The door accomplishes this by providing a moving panel mounted on a hinge, so that it can be “closed” to isolate the rooms, but it can swing “open” to allow passage to the other room.
According to the definition of a design pattern, the problem statement is: how to isolate two rooms, but still provide access to both. The proven solution described is a moving panel on a hinge. Thecontext here applies to rooms, therefore it’s implied that doors should not be used digging holes in a garden, or as toys for children.
This example seems a bit trivial, but someone at some point decided to invent a door that solves this “problem” of two rooms, and we have ever since been applying this design pattern to solve this problem in this context ever since!
Accessibility: The OSDPL’s approach to user interface design patterns
A user interface design pattern is a solution model for addressing a UI problem (presented from the user’s point of view) based on established UI principles.
On the OSDPL, we are primarily focused on user interface design patterns for websites and web applications (although patterns for traditional “stand-alone” applications are welcome too). Unlike other UI design pattern libraries on the Web, the OSDPL places an emphasis on accessibility concerns as a way to encourage designers and developers to create more inclusive software.
In our door design pattern, some accessibility concerns would be:
- how does someone with limited mobility use a door?
- does it matter which way the door swings?
- does a choice of knob or handle make a significant difference to these users?
- how is a door made accessible for someone with limited vision?
Thinking about common, proven solutions to these accessibility questions goes a long way in helping others implement doors that can be used by everyone. This is the kind of thinking that goes into a pattern on the OSDPL.
For additional information
Me encontré con esta liga que en realidad es una especie de wiki o libreria de patrones de diseño muy buena idea para que sepamos que tipo de pregunta hacernos cuando estamos buscando una solución de diseño.