Pagini
Workshops
Parteneri
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
sesiuni:design-patterns [2013/07/08 15:40] mbarbulescu [Slides] |
sesiuni:design-patterns [2014/06/27 20:54] (current) mbarbulescu |
||
---|---|---|---|
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 == | + | == NEW: Slides == |
- | * [[http://workshop.rosedu.org/res/ctudor/Introduction%20to%20Design%20Patterns.pdf|Download PDF]] | + | **NEW RESOURCE ADDED: ** Course Slides. Use the links below for downloading. |
- | * [[http://workshop.rosedu.org/res/ctudor/Introduction%20to%20Design%20Patterns.pptx|Download PPT]] | + | |
- | <html> | + | - [[http://workshop.rosedu.org/res/design-patterns/Introduction%20to%20Design%20Patterns.pptx|Introduction To Design Patterns]] |
- | <center> | + | - [[http://workshop.rosedu.org/res/design-patterns/The%20Joy%20and%20Chalanges%20of%20Writing%20Quality%20Software.pptx|The Joy and Chalanges of Writing Quality Software]] |
- | <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> | + | - [[http://workshop.rosedu.org/res/design-patterns/Perspectives%20on%20Design%20Principles.pptx|Perspectives on Design Principles]] |
- | </center> | + | |
- | </html> | + | |
- | == Topics covered == | + | |
- | How to avoid a bad design | ||
- | * Rigidity | + | == Prerequisites == |
- | * Fragility | + | |
- | * Immobility | + | |
- | using design principles | + | The workshop is addressed to participants who have: |
- | * Single Responsibility Principle | + | * 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) |
- | * 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 | + | * Practical knowledge of writing an OOP program (the programming language is not important) |
- | * Singleton | + | == Purpose of workshop == |
- | * Factory Method | + | |
- | * Abstract Factory | + | 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. |
- | * Template Method | + | == Agenda == |
- | * Strategy | + | |
- | * Iterator | + | - A word about complex systems |
- | * Observer | + | - Raw materials for software development |
- | * Adapter | + | - Introduction of UML diagrams |
- | * Decorator and more | + | - 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 | ||
+ | |||
+ | Puteti consulta si [[http://workshop.rosedu.org/2013/sesiuni/design-patterns|prezentarile de anul trecut]] |