Owner of design
See also: Reason
In software Genius, a owner of design ( design pattern in English) is a concept intended to solve the recurring problems according to the paradigm object. In French one uses also the term reason for design which is a bad translation of “design pattern”.
The owners of design describe solutions standards to answer problems of architecture and design of the software. With the difference of a algorithm which attempts to describe in a formal way how to solve a particular problem, the owners of design describe general processes of design. One can regard an owner of design as a formalization of good practices, which means that the tested solutions are privileged (an owner of design is regarded as “proven” only once it was used successfully at least in three cases).
It is not a question of fragments of code, since the owners of design are generally independent of the Computer programming language, but of a design method, i.e. in a way standardized to solve a difficulty which already arose in the past. The concept of owner of design thus has a great influence on the software Architecture of a system.
One can thus regard the owners of design as a tool of capitalization of the experiment applied to the software design.
General goal
The general goal of the owners of design is to minimize the interactions which there can be between different the classes (or modules, more generally) from the same program. The advantage of these owners is to decrease the time necessary with the development of a software and to increase the quality of the result, in particular by applying already existing solutions to current problems of design. They are there to avoid the presence of anti-owners. They are also useful to define a common vocabulary between the various actors of the writing of a software.These owners are described in an abstracted form, without endeavouring to the details of the problem to solve.
History
Formalized in the book of the “Gang off Furnace” (GoF, Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides) entitled “Patterns Design -- Elements off Reusable Object-Oriented Software” (see bibliography) in 1995, the owners of design draw their origin from work of the Architecte Christopher Alexander in the the Seventies.
Quotations
- “Each owner describes a problem which appears constantly in our environment, and thus described the heart of the solution to this problem, in a way such as one can re-use this solution of the million times, without never doing it twice same manner” Christopher Alexander - 1977.
- “the owners make it possible to capitalize an invaluable knowledge born of know-how of experts” - 1996.
Formalism
The description of an owner of design follows a fixed formalism:
-
Name
- Description of the problem to solve
- Description of the solution: suggestions for the solutions, with their relations. The solution is called owner of design .
- Consequences: results resulting from the solution.
This Formalism assistance especially with better including/understanding the use and the internal logic of each owner, but does not correspond to the usual use of the term. The word structure would be adapted perhaps better.
A more important aspect of construction is the Orthogonalité: each owner must correspond to a different approach, which does not repeat the ideas or strategies present in other owners. This quality should make it possible to help the originator to peel a problem and to solve each aspect in an organized way of it, like combining the owners to build a solution. Certain authors then see a lack of orthogonality in the GoF owners, while others propose some still more (Vlissides, Grand).
List owners of design of GoF
One distinguishes three families from owners of design according to their use:
- créationnels: they define how to make the Instanciation and the Configuration of the classes and the objects.
- structural: they define how to organize the classes of a program in a broader structure (separating the interface from the implementation).
- behavioral: they define how to organize the objects so that those collaborate (distribution of the responsibilities) and explain the operation of the implied algorithms.
Most widespread owners of design
The most widespread owners of design are 23. They are usually called " GoF" owners; (of " Gang off Four" , according to the four creators of the concept). The owner Model-Sight-Controller (MVC) is a combination of the owners Observateur , Stratégie and Composite .
Creation
Structure
- Adapter ()
- Bridge ()
- composite Object ()
- Decorator ()
- Frontage ()
- Weight-fly or weight-feather ()
- Proxy ()
Behavior
- Chain of responsibility ()
- Order ()
- Interpreter ()
- Itérateur ()
- Mediator ()
- Memorandum ()
- Observant ()
- State ()
- Strategy ()
- Owner for method ()
- Visitor ()
Owner GRASP
Owners GRASP are owners created by Craig Larman who describe rules to assign the responsibilities to the classes for a program directed objects during the design, in connection with the design method ECB (for " Boundary Entity" Control; - in French MVC " Model Seen Contrôleur") :
-
Responsibilities
- Expert
- Creative
- Weak coupling
- Strong cohesion
- Controller
- Polymorphism
- Indirection
- pure Manufacture
Other owners of design
Related topic
References
| Random links: | RahXephon | Sharcoux | Park synergy | Emmanuel Collard | Muppet Babies | Ormond-Par-Le-Mer,_la_Floride |