Software Architecture: Patterns for Developers
1h 27mIntermediate2025-04-09
Authors

Peter Morlion
Software Developer with 10+ years of experience
Course details
As a developer, you're ultimately building software to solve problems for your users. But a successful application also needs to be easy for you and other developers to work with. Enter software architecture patterns. These trusted solutions allow you to translate complex architectural problems to recognizable patterns. In this course, instructor Peter Morlion covers a variety of the most well-known software architecture patterns, showing you how to apply the correct architecture to new systems and recognize patterns in existing systems. Peter goes over system patterns such as microservices. He also covers application patterns like event sourcing, as well as UI patterns like model-view-controller (MVC). Along the way, he shares pros and cons that help you determine which patterns to use.
Learning objectives
Recognize and apply architectural patterns to your software designs.
Design an architecture for a new software application.
Learning objectives
Recognize and apply architectural patterns to your software designs.
Design an architecture for a new software application.
Skills covered
Software DesignSoftware ArchitectureSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Learn to write clean maintainable code
1. The Context of Software Architecture Patterns
- 02 - What are software architecture patterns
- 03 - Why software architecture patterns
- 04 - The difference with design patterns
- 05 - Categories of patterns
2. System Patterns
- 06 - Monolith
- 07 - N-tier
- 08 - Service-oriented
- 09 - Microservices
- 10 - Serverless
- 11 - Distributed systems
- 12 - Peer-to-peer
3. Application Patterns
- 13 - Layered
- 14 - Onion
- 15 - Ports and adapters (or hexagonal)
- 16 - Differences between layered, onion, and hexagonal
- 17 - Modular monolith
- 18 - Microkernel
- 19 - CQRS
- 20 - Event sourcing
- 21 - Combining CQRS and event sourcing
4. UI Patterns
- 22 - Forms and controls
- 23 - Model-View-Controller
- 24 - Model-View-Presenter
- 25 - Model-View-ViewModel
- 26 - Differences between MVC, MVP, and MVVM
Conclusion
- 27 - Combining patterns
- 28 - Next steps
Related courses
- Cloud-Based Agentic AI Design Patterns
- Redefining Software Development Roles in the AI Era
- React: Design Patterns
- Programming Foundations: Object-Oriented Design
- Learning JavaFX GUI Development
- Expert Domain-Driven Design (DDD) Implementation in .NET
- Project Management: Choosing the Right Online Tool
- Spring 6: Design Patterns