Visit complete Design and Architecture roadmap
Design and Architecture Topic

Architectural Patterns

Architectural Patterns

Architectural patterns are a set of solutions that have been proven to work well for specific types of software systems. They provide a common vocabulary and set of best practices for designing and building software systems, and can help developers make better design decisions. Some common architectural patterns include:

  • Model-View-Controller (MVC): A pattern for separating the user interface, business logic, and data storage components of a system.
  • Microservices: A pattern for building systems as a collection of small, independently deployable services that communicate over a network.
  • Event-Driven: A pattern for building systems that respond to events and perform actions in response.
  • Layered: A pattern for organizing a system into layers, with each layer providing a specific set of services to the layer above it.
  • Pipe-and-Filter: A pattern for building systems as a series of independent, reusable processing elements that are connected together in a pipeline.
  • Command-Query Responsibility Segregation (CQRS): A pattern for separating the handling of commands (which change the state of the system) from the handling of queries (which retrieve information from the system)
  • Blackboard: A pattern for creating a centralized repository of information that can be accessed and modified by multiple independent modules or subsystems.
  • Microkernel: A pattern that aims to minimize the amount of code running in kernel mode and move as much functionality as possible into user-mode processes.
  • Serverless: A design pattern that allows developers to build and run applications and services without having to provision and manage servers.
  • Message Queues and Streams: A pattern that decouples different components of a system and enables asynchronous communication between them.
  • Event Sourcing: A pattern that stores all changes to the system’s state as a sequence of events, rather than just the current state.

Learn more from the following links:

More Topics

Explore related content

View All Topics
Loved by 100K+ Developers

Start Your Learning
Journey Today

Join thousands of developers who are leveling up their skills with structured roadmaps and expert guidance

No credit card required
Always free
Track your progress