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

From Expertiza_Wiki
Jump to navigation Jump to search
Line 5: Line 5:
===Definition===
===Definition===
Some of the common definitions available online are as follows.
Some of the common definitions available online are as follows.
*"In [http://en.wikipedia.org/wiki/Software_engineering software engineering], a design [http://en.wikipedia.org/wiki/Pattern pattern] is a general reusable solution to a commonly occurring problem within a given context in [http://en.wikipedia.org/wiki/Software_design software design]. A design pattern is not a finished design that can be transformed directly into [http://en.wikipedia.org/wiki/Code_(computer_programming) code]. It is a description or template for how to solve a problem that can be used in many different situations. [http://en.wikipedia.org/wiki/Object-oriented Object-oriented] design patterns typically show relationships and [http://en.wikipedia.org/wiki/Interaction interaction]s between [http://en.wikipedia.org/wiki/Class_(computer_science) class]es or [http://en.wikipedia.org/wiki/Object_(computer_science) object]s, without specifying the final application classes or objects that are involved." <ref>[http://en.wikipedia.org/wiki/Design_pattern_(computer_science) Design Pattern in Computer Science, Wikipedia]</ref>  
*"In [http://en.wikipedia.org/wiki/Software_engineering software engineering], a design [http://en.wikipedia.org/wiki/Pattern pattern] is a general reusable solution to a commonly occurring problem within a given context in [http://en.wikipedia.org/wiki/Software_design software design]. A design pattern is not a finished design that can be transformed directly into [http://en.wikipedia.org/wiki/Code_(computer_programming) code]. It is a description or template for how to solve a problem that can be used in many different situations. [http://en.wikipedia.org/wiki/Object-oriented Object-oriented] design patterns typically show relationships and [http://en.wikipedia.org/wiki/Interaction interaction]s between [http://en.wikipedia.org/wiki/Class_(computer_science) class]es or [http://en.wikipedia.org/wiki/Object_(computer_science) object]s, without specifying the final application classes or objects that are involved." -Wikipedia <ref>[http://en.wikipedia.org/wiki/Design_pattern_(computer_science) Design Pattern in Computer Science, Wikipedia]</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]</ref>


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

Revision as of 01:06, 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>[2]</ref>

Examples

Singleton

Adapter

Command

Strategy

Conclusion

References

<references/>

External Links