The Working with Design Patterns course delivers a hands-on view of how Design Patterns can be used to design and refactor software systems. The course begins with a short overview of modern software design. From there you’ll learn detailed implementation strategies for the primary construction patterns, with an eye to decoupling modules and creating testable units. At that point, the course explores modern strategies for data management, refactoring, and web services. The course will include examples in Java.
Engineers with minimal design pattern experience looking for a deep dive into design choices and pattern implementations.
Promote an in-depth understanding of design and design patterns for software systems.
3 Days
Upon completion of this course, students will be able to:
- Recognize Design Patterns and how to apply these concepts to modern software system architectures
- Leverage Design Patterns in large scale refactorings
- Identify the principles of dependency management and decoupling using Design Patterns
- Discuss microservices and containerization
- Approaches to design patterns
- Universal application needs
- Singleton considered
- Factories, builders, and Creation methods
- Adapters and facades
- Composites
- Observer
- State
- Strategies and Template Methods
- Dependency Injection
- Inversion of Control (IoC)
- Lambda Refresher
- Higher Order Functions
- Style Guide
- Use Cases
- Unit testing
- Code smells
- Refactoring techniques
- Large-scale refactoring with the Strangler pattern
- Architectural styles
- Microservices
- Containers