Java EE: Design Patterns and Architecture
2h 45mAdvanced2018-04-26
Authors

Alex Theedom
Enterprise Developer, Published Author, Trainer
Course details
Discover how to prevent common design issues and increase programming efficiency using design patterns and architecture in Java EE. In this course, instructor Alex Theedom dives into the fundamental topic of design patterns and software architecture, equipping you with the knowledge you need to choose the right architecture for your application. Alex covers the Gang of Four classic patterns, discussing the unique way they are implemented in the Java EE platform. This includes the Singleton, Facade, Observer, and Decorator patterns. He then goes over some of the most important architectural patterns used by the platform, including Filter, model-view-controller (MVC), Front Controller, and Interceptor. After diving into design patterns, he moves on to the topic of architecture, discussing the motivation and need for architecture and introducing some of the best-known structures. Alex finishes the course with a discussion of monolithic and microservice architectures.
Learning objectives
Classic Gang of Four software design patterns
Enterprise architecture patterns
Implementing the Singleton, Facade, Observer, and Decorator patterns
Domain-centric, screaming, and CQRS architecture
Advantages and disadvantages of microservices
Learning objectives
Classic Gang of Four software design patterns
Enterprise architecture patterns
Implementing the Singleton, Facade, Observer, and Decorator patterns
Domain-centric, screaming, and CQRS architecture
Advantages and disadvantages of microservices
Skills covered
Java EEEnterprise ArchitectureJavaOracleSoftware DevelopmentDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Welcome
- 02 - What you should know
1. Design Patterns in Software Development
- 03 - Classic GOF software design patterns
- 04 - Enterprise architecture patterns
2. Classic Software Design Patterns in Java EE
- 05 - Classic design patterns revisited
- 06 - The Singleton design pattern
- 07 - Implement a Singleton pool manager
- 08 - Advanced Singleton pattern
- 09 - Singleton pattern concurrency
- 10 - The Facade design pattern
- 11 - Implement the Facade pattern
- 12 - Advanced Facade services
- 13 - The Observer design pattern
- 14 - Implement Observer pattern
- 15 - Observer priority and qualifiers
- 16 - Asynchronous observer
- 17 - The Decorator design pattern
- 18 - Implement the Decorator pattern
3. Architectural Software Patterns in Java EE
- 19 - What are enterprise software patterns
- 20 - The Dependency Injection pattern
- 21 - The Filter design pattern
- 22 - AOP - The Interceptor pattern
- 23 - AOP - Implement the Interceptor pattern
- 24 - The MVC and Front Controller patterns
4. Introduction to Enterprise Architecture
- 25 - What is software architecture
- 26 - Why do we need architecture
5. Database Centric Architecture
- 27 - What is database-centric architecture
- 28 - Classic three-tiered architecture
- 29 - Advantages and disadvantages
6. Domain-Centric Architecture
- 30 - What is domain-centric architecture
- 31 - Modern four-layer architecture
- 32 - Types of domain architecture
- 33 - Advantages and disadvantages
7. Screaming Architecture
- 34 - What is screaming architecture
- 35 - Functional vs. categorical
- 36 - Advantages and disadvantages
8. CQRS Architectures
- 37 - What is CQRS architecture
- 38 - The three variants
- 39 - Advantages and disadvantages
9. Monolith and Microservice Architectures
- 40 - What is a monolith
- 41 - What is a microservice
- 42 - Advantages and disadvantages of microservices
Conclusion
- 43 - Next steps