CSC/ECE 517 Fall 2011/ch4 4h kp: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 8: Line 8:


*"A design pattern is a repeatable solution to a software engineering problem. Unlike most program-specific solutions, design patterns are used in many programs. Design patterns are not considered finished product; rather, they are templates that can be applied to multiple situations and can be improved over time, making a very robust software engineering tool. Because development speed is increased when using a proven prototype, developers using design pattern templates can improve coding efficiency and final product readability." -Techopedia <ref>[http://www.techopedia.com/definition/18822/design-pattern Techopedia explains Design Pattern]</ref>
*"A design pattern is a repeatable solution to a software engineering problem. Unlike most program-specific solutions, design patterns are used in many programs. Design patterns are not considered finished product; rather, they are templates that can be applied to multiple situations and can be improved over time, making a very robust software engineering tool. Because development speed is increased when using a proven prototype, developers using design pattern templates can improve coding efficiency and final product readability." -Techopedia <ref>[http://www.techopedia.com/definition/18822/design-pattern Techopedia explains Design Pattern]</ref>
In a layman's term, Design Patterns are descriptions of
*what experienced designers know.
*hints for choosing classes & methods
*higher order abstractions for program organization
*used to weigh design tradeoffs
*used to avoid limitations of implementation language. [http://norvig.com/design-patterns/ppframe.htm Design Patterns in Dynamic Languages - Peter Norvig]


===Examples===
===Examples===

Revision as of 01:14, 21 October 2011

Introduction

This wiki article discusses about some of the commonly used & easy to understand Desgin patterns[1] in the software industry. Specifically, we will be studying about the Singleton, Adapter, Command & Strategy patterns.

Design Pattern

Definition

Some of the common definitions available online are as follows.

  • "A design pattern is a repeatable solution to a software engineering problem. Unlike most program-specific solutions, design patterns are used in many programs. Design patterns are not considered finished product; rather, they are templates that can be applied to multiple situations and can be improved over time, making a very robust software engineering tool. Because development speed is increased when using a proven prototype, developers using design pattern templates can improve coding efficiency and final product readability." -Techopedia <ref>Techopedia explains Design Pattern</ref>

In a layman's term, Design Patterns are descriptions of

  • what experienced designers know.
  • hints for choosing classes & methods
  • higher order abstractions for program organization
  • used to weigh design tradeoffs
  • used to avoid limitations of implementation language. Design Patterns in Dynamic Languages - Peter Norvig

Examples

Singleton

Adapter

Command

Strategy

Conclusion

References

<references/>

External Links