Course Outline
Introduction
- Patterns and layered architectures
- Pattern documentation and description
- The intersection of design patterns and software design
- Identifying and choosing appropriate design patterns
- Implementing design patterns in practice
Established Patterns
Object Creation
- Factory
- Builder
- Factory Method
- Prototype
- Singleton
Structural Patterns
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
Behavioral Patterns
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor
- Observer
Developing New Patterns
- Evaluating when to apply pattern-based design
- Formalizing pattern descriptions
- Structuring and organizing pattern catalogs
- Distinguishing between specific and abstract goals
- Contributing patterns to the broader developer community
Requirements
A solid understanding of UML and proficiency in at least one object-oriented language, such as C++, C#, Java, VB.NET, or PHP 8 or higher, are required.
Testimonials (4)
The explanations and interactivity of the trainer, he really brought the subject well; and even-though I was probably not experienced enough, I did learn a lot from it!
Pieter Bruynseels - Spot Buy Center BV
Course - Design Patterns
The trainer highlighted the really important concepts in software architecture with quizzes. The high-level perspective on effective implementation of software development cycle starting from requirements elicitation to unit testing is very refreshing to data scientist without much experience in software development.
Kok Cheong Cheng - DBS Bank
Course - Design Patterns
Broad overview of techniques
Kay Jan Wong - DBS Bank Ltd
Course - Design Patterns
I like the simple but informative example codes.