- Layered Architecture Layered Architecture is a design pattern in software engineering that organizes an application into distinct layers, each with a specific role and responsibility. This pattern promotes separation of concerns, scalability, and maintainability by structuring the code in a way that each layer handles a particular part of the system's functionality.
- Presentation Layer
- Application Layer
- Domain Layer
- Data Store Layer
-
Event-Driven Architecture Event-Driven Architecture (EDA) is a software design pattern where system components communicate and interact through the production, detection, and reaction to events. This pattern decouples producers (senders) and consumers (receivers), allowing the system to be more scalable, resilient, and responsive to changes. e.g.: CQRS
-
Microkernel Architecture Microkernel Architecture is a software design pattern that structures an application around a minimal core (the microkernel), with additional functionality provided by plug-in modules. This pattern is common in systems that need to be highly adaptable, extensible, and maintainable over time.
-
Microservices Architecture Microservices Architecture is a design pattern in which an application is structured as a collection of small, independent services that communicate over a network. Each service is focused on a specific business capability, and they collectively form a complete application.
-
Monolithic Architecture Monolithic Architecture is a traditional software design pattern where an application is built as a single, unified codebase that contains all the functionalities. All components—such as user interfaces, business logic, and data access layers—are tightly integrated and run as a single executable or deployment unit.