Architectural Patterns

Last updated

What is 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.

Free resources to learn Architectural Patterns

More in stage 1: Clean Code Principles

Architectural Patterns: common questions

Can I learn Architectural Patterns in Hindi?

This lesson is written in English. Once you sign in, open it in the interactive course and ask the AI tutor to explain Architectural Patterns in Hindi or Hinglish. The tutor answers from this lesson’s own text, so it stays on the syllabus, and it runs on your own Google, OpenAI or Anthropic key.

Is this Architectural Patterns tutorial for beginners?

It is lesson 9 of 94 in the free Software Design and Architecture roadmap, in stage 1, Clean Code Principles. If you are new to Software Design and Architecture, start from stage 1 and come back here in order; if you already know the earlier stages, this lesson stands on its own.

Still confused? Ask me