Software design pattern: Difference between revisions

Content deleted Content added
rewrite definition
Wapcaplet (talk | contribs)
m spelling and minor rephrasing
Line 1:
Using '''Design pattern'''s is to reuse the ways that past designers discovered without efforts of rediscovering it. MVC or [[Model view contoller triad]] is an good antiquetedantiquated example of design pattern.
 
The book that introduced the term design patter to software development, ''[[Design Patterns]]: elements of reusable object-oriented software'' or [[GoF]] says:
:[Design patterns] solve specific design problems and make object-oriented desings more flexiblem elegant, and ultimately reusable. They help designers reuse successful designs by basing new designs on prior experience. A designer who is familiar with such patterns can apply them immediately to design problems without having to rediscover them.
 
In computer programming, the incredible gap onin productivilityproductivity between amaturesamateurs and expersexperts is partly a differentdifference in experience, if not all. Experts have weathered a lotvariety of problems again and againrepeatedly. Typically experts end up with the same pattern to solve the problems as each other's. That is a design pattern. (GoF)
 
Each pattern comes up with the problem that happens again and again among programmers. Then it shows a typical solution for such a problem, if not the best alogsolution, along with the trade-off, which is convinienta toconvenient assessassessment thatto applymake theprior solutionto beforeapplying ita costspotentially toocostly much to acceptsolution. It is important that patterns accompany a name because it makes possible to describe problems, solutions and talk about them with other folks.
 
See also [[anti-pattern]], [[amelioration pattern]]