IntermediateTopic 54 of 104Software & Computing
Software architecture patterns
Layered, microservices and event-driven structures.
In depth
Architecture patterns organise systems: layered, client-server, MVC, event-driven, microkernel, pipe-and-filter, hexagonal, CQRS. They balance modifiability, performance, scalability, security and cost. Document decisions (ADRs) and evaluate trade-offs against quality attributes.
Key points
- Separation of concerns
- Coupling
- Monolith vs distributed
ExampleMVC separates data, UI and control logic in web apps.
What is Software architecture patterns?
Layered, microservices and event-driven structures.
Why is it important to understand software architecture patterns?
Architecture patterns shape how a system is divided into parts, which determines how easily it can grow, change and be operated.
What is a layered architecture?
A structure where each layer, such as presentation, logic and data, uses only the layer below it, which keeps responsibilities separate.
Is a microservice architecture always better?
No. It adds operational complexity, so it suits large teams and independently scaling services, not every small application.
How is Software architecture patterns used in practice?
Typical applications include choosing a layered structure for a business application with a database, designing an event-driven system that reacts to sensor events and deciding whether a small system needs microservices or a single deployable unit.
What should I learn before Software architecture patterns?
Study "CI/CD" first (topic 53 of 104 in Software & Computing). It covers the groundwork this topic builds on.
What are the key points of Software architecture patterns?
Separation of concerns. Coupling. Monolith vs distributed.
Can you give an example of Software architecture patterns?
MVC separates data, UI and control logic in web apps.
What comes after Software architecture patterns?
The next topic is "Microservices", which builds directly on this one.
How difficult is Software architecture patterns?
It is classed as Intermediate in Software & Computing (topic 54 of 104). It is an intermediate topic. Work through the beginner topics in Software & Computing first.