This page needs cleanup.

 

Overview

In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved. Algorithms are not thought of as design patterns, since they solve computational problems rather than design problems. (from Wikipedia)

 

This is one reason I think it is important for programmers to learn about such software management and philosophy of software coding methodologies.  As you may well be aware, the “Design Patterns” book (which started the patterns and anti-patterns craze) was primarily intended as a tool of thought and communication, not of software engineering. People who are familiar with the names of the different patterns, anti-patterns (both for code or management), refactorings, etc. can communicate more easily with other people. It also streamlines the thought process in having to think of a certain concept rather than what it means in practice.

 

So you should recommend your co-workers to study the available online (and offline) resources for software engineering, software management, etc.

 

--source

 

 

Why use design patterns? Because they are patterns - they’ve been used by others, shown to solve known problems effectively, are recognized by the brain, and allow for shortcuts in communication (when talking to a co-worker you can suggest “Observer pattern” and if they don’t already know it, can easily google it).

 

 

Design Patterns: Elements of Reusable Object-Oriented Software (book)

Often referred to as the GoF, or Gang-Of-Four (because of the four authors who wrote it), Design Patterns: Elements of Reusable Object-Oriented Software (ISBN 0-201-63361-2) is a software engineering book describing recurring solutions to common problems in software design. The book’s authors are Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. The book is divided into two parts, with the first two chapters exploring the capabilities and pitfalls of object-oriented programming, and the remaining chapters describing a series of classic software design patterns. source

 

 

References

Wikipedia:Design_pattern_%28computer_science%29
Wikipedia:Design_Patterns - on the classic “Gang of Four” book
Design Patterns Quick Reference -- two page reference I like referring to
http://hillside.net/patterns/
http://c2.com/ppr/ - the Portland Pattern Repository, reportedly the World First Wiki, as well.
http://www.exciton.cs.rice.edu/JAvaResources/DesignPatterns/default.htm - java patterns

 

Rethinking Design Patterns

 

http://www.exciton.cs.rice.edu/JAvaResources/DesignPatterns/default.htm
http://hillside.net/patterns/

 

http://pragmaticprogrammer.com/ppllc/papers/1999_01.html

 

http://www.dofactory.com/Patterns/Patterns.aspx - C#

 

Design Patterns Cheat-Sheet (pdf)

 

 

 

 

Specific Patterns

VB6 Class Factory Pattern

 

ModelViewController

 

 

See Also

JavaScript.Pattern
Books
WikiPatterns
Lisp.DesignPatterns

 

 

Category tags

DesignPatterns Programming Books


 

Comments

No comments yet.

 

 

Add Comment

Heading:
 Your Message
 
 Enter value ← Have you entered the code number?
Author: