Week 8 - Pattern Design
What is “Software Design Patterns”? According to this web site, design patterns are recurring solutions to software design problems you find again and again in real-world application development. Design patterns are about design and interaction of objects, as well as providing a communication of platform concerning elegant, reusable solutions to commonly encountered programming challenges.
http://www.cmcrossroads.com/bradapp/docs/patterns-intro.html
The fundamental to any science or engineering discipline is a common vocabulary for expressing its concepts,. The goal of patterns within the software community is to create a body of literature to help software developers resolve recurring problems encountered throughout all of software development. Patterns help create a shared language for communication insight and experience about these problems and their solutions.
There are three goal to achieve this purpose:
The Quality:
Most important, regard as essence of all things living and useful that imparts unto them qualities such as: freedom, wholeness, completeness, comfort.. etc. it is what makes us feel “alive” and “sated”, give us satisfaction and ultimately improves the human condition.
The Gate:
This is the mechanism that allows us to reach the quality. It is manifested as a living common pattern language that permits us to create multiform designs which fulfill everyone’ needs. It is the universal “either” of patterns and their relationships that permeate a given domain. The gate is the conduit to the quality.
The Way:
Using the way, patterns from the gate are applied using a technique of differentiating space in an ordered sequence of piecemeal growth: progressively evolving an initial architecture.
My view:
The ultimate goal of the pattern design is to union the different programming design. It sounds great as we want to create the program, write it fast and maintain it easily. If it does happen, what is the standard of such pattern coding come from? Can it be came from the big software house? Or can it be came from the Open source projects? No! people do not like to stick to the standard. Like the literary, someone life to create something new but not like to follow the majority. If this is the case in Computer Science, and I am quiet certain that many programmers do not like to “step after” other people. Especially happen in big software company. They all like to create its standard in order to gain more market share ultimately.