Design Patterns |
ter |
|||||
Teaching Staff in Charge |
Prof. PÂRV Bazil, Ph.D., bparv@cs.ubbcluj.ro Lect. DARVAY Zsolt, Ph.D., darvay@cs.ubbcluj.ro |
Aims |
At the completion of this course, the students will be able to:
a) know and understand the core design patterns b) identify the design patterns in a real-world problem c) use appropriate design patterns in solving real-world problems d) build reusable designs |
Content |
1. Design patterns. General issues
1.1. Historical aspects 1.2. The design pattern concepts 1.3. Pattern classification 2. Creational patterns 2.1. Abstract Factory 2.2. Builder 2.3. Factory Method 2.4. Prototype 2.5. Singleton 3. Structural patterns 3.1. Adapter 3.2. Bridge 3.3. Composite 3.4. Decorator 3.5. Facade 3.6. Flyweight 3.7. Proxy 4. Behavioral patterns 4.1. Chain of Responsibilities 4.2. Command 4.3. Interpreter 4.4. Iterator 4.5. Mediator 4.6. Memento 4.7. Observer 4.8. State 4.9. Strategy 4.10. Template Method 4.11. Visitor Each design pattern presentation follows the following scheme: intent, the problem to be solved, the structure (including UML diagrams), examples (a structural and at least one real-life example). Lab activities Design patterns implementation issues and using them in solving real-world problems. Each problem solution will be implemented in at least two different programming languages (Java, C#, Visual Basic 6.0, Visual Basic .NET). The lectures (ppt slides) and lab material will be available on the Computer Science Department's server, in the folder ..\labor\romana\an4\depa |
References |
[1] Bruce Eckel: Thinking in Patterns with Java, www.bruceeckel.com
[2] James W. Cooper: The Design Patterns Java Companion, Addison-Wesley, 1998. [3] Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995 [4] Stephen Stelting, Olav Maassen, Applied Java Patterns, Prentice Hall, 2001. |
Assessment |
The final mark is the arithmetic mean of the lab activity mark and a final test mark. |