The objective of this research project is to get familiar with different design patterns (software engineering solutions) for a variety of design questions which most developers might encounter in their careers.
This research project is to get familiar with different design patterns
Project #1 – Survey on Design Patterns
Exploring Popular Design Patterns
The objective of this research project is to get familiar with different design patterns (software engineering solutions) for a variety of design questions which most developers might encounter in their careers. Common problems found in several software applications and reusable solutions for these problems motivated the classification of these solutions into patterns.
According to Judith Bishop, design patterns can help you speed up the development of your applications with elegant, accepted and also proven ways to tackle common programming problems [1].
Each student will be assigned to a different design pattern according to the last digit of their ID.
Adapter – Last digit 0 or 1
Command – Last digit 2
Decorator – Last digit 3
Facade – Last digit 4
Factory – Last digit 5
Singleton – Last digit 6
Template – Last digit 7
Iterator – Last digit 8
State – Last digit 9
In my case, the Command Design Pattern is my option.
The paper must contain the following topics:
1. Motivation – why is this pattern necessary?
2. Applications
3. Structure – how these pattern solves the problem?
4. An implementation example
For the implementation, you are free to search for code examples in the language of your preference (such as Java, Python, C#, etc). You do not need to write your own implementation. References are mandatory. Please use the examples from the book that I provide and other sources as long as you cite them.
The main reference for this project the following textbook:
Freeman, Eric T; Robson, Elisabeth; Bates, Bert; Sierra, Kathy (2004). Head First Design Patterns. O’Reilly Media. ISBN 0-596-00712-4.
References:
[1] Bishop, Judith. “C# 3.0 Design Patterns: Use the Power of C# 3.0 to Solve Real-World Problems”. C# Books from O’Reilly Media. Retrieved 2012-05-15. If you want to speed up the development of your .NET applications, you’re ready for C# design patterns {elegant, accepted and proven ways to tackle common programming problems.