Skip to content

system designs and patterns

There are many many system design patterns to learn and understand. It really depends on your business usecase, resources, strategies, business needs, and the engineering infrastructure you are looking into build.

key architectural patterns

The following are derived from Neo Kim's ultra popular system design newsletters. I really liked how he break it down into the following common system design patterns at a high level. I highly recommend the subscription. I also really like how he makes learning system designs super fun and are able to decompose from such a complex topic into chunks of essentials that you should focus on before hopping into more complicated architecture!

I will actually dive deeper into each of this components later to help you understand what each of this architectural patterns would entailed.

  • Layered Architecture - Separating software into logical and independent layers.
  • Microservices Architecture - Creating an application with small and independent services.
  • Event-Driven Architecture - Services communicate via events for scalability and flexibility.
  • Service-Oriented Architecture - Organizing software into reusable and loosely coupled services.
  • Hexagonal Architecture - Implementing clear separation between core logic and external interfaces.
  • Component-Based Architecture - Organizing software into reusable, self-contained components.
  • Model-View-Controller - Separating data, presentation, and user interaction layers.
  • Domain-Driven Design - Focusing on understanding and modeling core business domains.
  • Command Query Responsibility Segregation - Separating read and write operations in the system for scalability.
  • Event Sourcing - Storing the state changes as a sequence of events.

the deep dive

layer architecture

microservices architecture

event-driven architecture

service-oriented architecture

hexagonal architecture

componet-based architecture

model-view architecture

domain-driven architecture

command query responsibility segregation architecture

event sourcing architecture

useful resources