Design Patterns

When and Where?

Date Time Room
24, 25, 26, 27 June 2014 11:00-14:00 EC101


Complete this form.

Deadline inscrieri: 22 iunie 2014


Catalin Tudor

NEW: Slides

NEW RESOURCE ADDED: Course Slides. Use the links below for downloading.


The workshop is addressed to participants who have:

  • Basic/Medium knowledge of OOP (participants should know what the following notions refer to: class, class member, method, destructor, static method, virtual method, constructor, static constructor, object, inheritance, aggregation)

* Practical knowledge of writing an OOP program (the programming language is not important)

Purpose of workshop

Participants will gain insight on what there is to know in order to build a quality software. There will be open discussions and wisdom sharing on topics like: requirements discovery and documentation, design best practices and implementation hints.


  1. A word about complex systems
  2. Raw materials for software development
  3. Introduction of UML diagrams
  4. Examples of bad design
  5. SOLID design principles
    1. Single Responsibility Principle
    2. Open Close Principle
    3. Liskov Substitution Principle
    4. Interface Segregation Principle
    5. Dependency Inversion Principle
  6. Overview of design patterns
  7. Design Pattern catalogue (each pattern will be considered in the context of solving a real design issue)
    1. Composite
    2. Iterator
    3. Strategy
    4. State
    5. Template Method
    6. Decorator
    7. Proxy
    8. Factory Method
    9. Visitor
    10. Abstract Factory
    11. Observer
    12. Command
    13. Adapter
    14. Facade
    15. Singleton
    16. Bridge
  8. Design Entropy
    1. What is design entropy
    2. How it affects the design
    3. How to build an entropy friendly design

Puteti consulta si prezentarile de anul trecut

sesiuni/design-patterns.txt · Last modified: 2014/06/27 20:54 by mbarbulescu