Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
sesiuni:design-patterns [2013/07/08 15:40]
mbarbulescu [Slides]
sesiuni:design-patterns [2014/06/22 17:59]
mbarbulescu [When and Where?]
Line 4: Line 4:
  
 ^  Date  ^  Time          ^  Room  | ^  Date  ^  Time          ^  Room  |
-1 - 5 July 2013  ​08:00 - 11:00 |  ​EC004  ​|+24, 25, 26, 27 June 2014 11:00-14:00 |  ​EC101 |
  
-Sala este EC004 din Facultatea de Automatică și Calculatoare. Vezi [[http://​workshop.rosedu.org/​2013/​harta | harta]] pentru detalii. ​ 
 == Registration == == Registration ==
  
-Complete [[https://​docs.google.com/​spreadsheet/viewform?formkey=dGQ1VWIzdTZOYUhRd09XNlpuMzFNdVE6MA|this form]]+Complete [[https://​docs.google.com/​forms/​d/​1bLbF_FDgeJEstFeYlivyX6gBE4Q_npY3Jal14sH3pGU/viewform?usp=send_form|this form]].
  
 +**Deadline inscrieri: 22 iunie 2014**
 == Instructor == == Instructor ==
  
Line 16: Line 16:
 <​ctudor@ixiacom.com>​ <​ctudor@ixiacom.com>​
  
-== Slides ​==+== Prerequisites ​==
  
-* [[http://workshop.rosedu.org/​res/​ctudor/​Introduction%20to%20Design%20Patterns.pdf|Download PDF]] +The workshop ​is addressed to participants who have:
-* [[http://​workshop.rosedu.org/​res/​ctudor/​Introduction%20to%20Design%20Patterns.pptx|Download PPT]]+
  
 + * 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)
  
-<​html>​ + * Practical knowledge of writing an OOP program (the programming language is not important)
-<​center>​ +
-<iframe src="​http://​docs.google.com/​viewer?​url=http://​workshop.rosedu.org/​res/​ctudor/​Introduction%20to%20Design%20Patterns.pdf&​embedded=true"​ width="​600"​ height="​470"​ style="​border:​ none;"></​iframe>​ +
-</​center>​ +
-</​html>​ +
-== Topics covered == +
  
-How to avoid a bad design+== Purpose of workshop == 
  
- * Rigidity + 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. 
- * Fragility  +== Agenda ==
- * Immobility ​+
  
-using design principles+        - A word about complex systems 
 +        - Raw materials for software development 
 +        - Introduction of UML diagrams 
 +        - Examples of bad design 
 +        - SOLID design principles 
 +                - Single Responsibility Principle 
 +                - Open Close Principle 
 +                - Liskov Substitution Principle 
 +                - Interface Segregation Principle 
 +                - Dependency Inversion Principle 
 +        - Overview of design patterns 
 +        - Design Pattern catalogue (each pattern will be considered in the context of solving a real design issue) 
 +                - Composite 
 +                - Iterator 
 +                - Strategy 
 +                - State 
 +                - Template Method 
 +                - Decorator 
 +                - Proxy 
 +                - Factory Method 
 +                - Visitor 
 +                - Abstract Factory 
 +                - Observer 
 +                - Command 
 +                - Adapter 
 +                - Facade 
 +                - Singleton 
 +                - Bridge 
 +        - Design Entropy 
 +                - What is design entropy 
 +                - How it affects the design 
 +                - How to build an entropy friendly design
  
-* Single Responsibility Principle +Puteti consulta si [[http://​workshop.rosedu.org/​2013/​sesiuni/​design-patterns|prezentarile de anul trecut]]
-* Open Close Principle +
-[[:sesiuni:liskov|Liskov’s Substitution Principle]] (studied in detail [[:​sesiuni:​liskov|here]],​ we recommend this presentation if you want to improve your software'​s quality) +
-* Interface Segregation Principle +
-* Dependency Inversion Principle +
- +
-and also the most useful Gang-of-Four design patterns +
- +
-  * Singleton +
-  * Factory Method +
-  * Abstract Factory +
-  * Template Method +
-  * Strategy +
-  * Iterator +
-  * Observer +
-  * Adapter +
-  * Decorator and more+
sesiuni/design-patterns.txt · Last modified: 2014/06/27 20:54 by mbarbulescu