Design Patterns and SOLID Principles with Java

Design Patterns and SOLID Principles with Java

English | MP4 | AVC 1920Ă—1080 | AAC 48KHz 2ch | 6h 48m | 1.32 GB

Write maintainable and extensible code in the latest version of Java, using design patterns and SOLID principles

This course will guide you through the whys and hows of important design patterns using SOLID principles and, more importantly, will help you recognize opportunities to apply these; its focus is on real-world problems and down-to-earth explanations to get you started quickly. The goal of the course is not to have you breeze through every design pattern in existence in a few minutes with oversimplified examples. Instead, you will learn selected design patterns in an in-depth way. During the course, you’ll also familiarize yourself with the major aspects of SOLID design and writing clean code, as these concepts and applying design patterns should go hand-in-hand.

By the end of the course, you will be able to identify (and confidently apply) design patterns in your own applications and be empowered to make your design choices using complex examples.

Learn

  • What design patterns are and why you should learn and use them
  • Understand and apply important design patterns such as the Template Method, the Strategy, the Singleton, the Facade, and the Factory Method
  • Identify and avoid anti-patterns—for instance, using God objects or having a so-called pattern fetish
  • How and why to design modular and extensible code by exploring important SOLID principles
  • How to quickly refactor code that does not adhere to design best practices by using your favorite IDE
Table of Contents

Design Patterns Quickstart with Template Methods
1 The Course Overview
2 Quick Overview of Design Patterns
3 Exploring the Sample Code, Introducing Future Requirements
4 Understanding and Using Template Methods
5 Pros and Cons of Template Methods
6 Favoring Composition over Inheritance

Quick Prototyping with the Singleton Pattern
7 Introduction to the Singleton Pattern
8 New Requirements and Prototyping
9 Data Access Layer with Singletons
10 Using Singletons the Right Way
11 Singleton Alternatives

Maintainable Code with the Strategy Pattern
12 Introduction to the Strategy Pattern
13 Strategy for Changing Requirements
14 Making SOLID Strategies
15 Dynamic Strategy
16 Strategy versus Template

Dependency Management with the Factory Pattern
17 Introduction to Simple Factory
18 Object Creation with the Factory Method
19 Abstract Factory and Dependency Inversion
20 Factory to Build a Family
21 Dynamic Dependencies

Hiding Complexity with Facades
22 Introduction to Facades
23 Hiding Behind Facades
24 Flexible Subsystems
25 Microservices and Facades
26 SOLID Facade Design

Design Patterns in the Cloud
27 Cloud Migration
28 Local and Cloud Environments
29 From Monolith to Microservices
30 Patterns for Resilience and Scalability
31 Summary and Next Steps