Design Patterns

When and Where?

Date Time Room
5, 6, 7 September 2016 17:00-20:00 EC101

Registration

Registration has been closed.

Instructor

Catalin Tudor - Principal Software Engineer at Ixia ctudor@ixiacom.com

Prerequisites

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 high quality software. There will be open discussions and wisdom sharing on topics like: requirements discovery and documentation, design best practices and implementation hints. During the workshop, participants will collaborate and discover how to make the best design choices on a real set of functional and non-functional requirements.

Workshop Presentation: introduction_to_design_patterns.pptx

Workshop Goal: Design a file system designing_a_file_system.doc

Workshop Bonus Presentation: the_joy_and_chalanges_of_writing_quality_software.pptx

Agenda

  1. Find out what Software Architecture and Software Design mean
  2. Agile development and story telling
  3. A word on complex systems
  4. Introduction to UML diagrams
  5. Examples of bad design
  6. SOLID design principles
    1. Single Responsibility Principle
    2. Open Close Principle
    3. Liskov Substitution Principle
    4. Interface Segregation Principle
    5. Dependency Inversion Principle
  7. Overview of design patterns
  8. 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
design_patterns.txt · Last modified: 2016/09/07 21:35 by ctudor