Contents
Software Architecture Patterns
Monolithic vs Microservices Architecture
Monolithic Architecture | Microservices Architecture |
| Packages the entire application into one single unit. | Breaks the application into smaller, independent services. |
| The UI, business logic, and database access are tightly connected. | Each service usually handles one specific business capability. |
| Components are interconnected and interdependent. | Services communicate with each other using simple APIs. |
| Updating or scaling one component usually requires redeploying or scaling the entire application. | Each service can be deployed and scaled independently. |
| Simpler to develop and manage for smaller applications. | Offers greater flexibility and allows different technologies to be used for different services. |
| Less operational complexity. | Requires additional coordination and careful management of communication between services. |
MVC, Layered, and Event-Driven Patterns
Architecture Pattern | Description |
| MVC (Model-View-Controller) | Separates an application into three components: Model (application data), View (user interface), and Controller (handles user input, updates the model, and refreshes the view). |
| Layered Architecture | Organizes an application into separate layers, such as presentation, business logic, and data access, with each layer responsible for a specific function. |
| Event-Driven Architecture | The application's flow is determined by events, which can be triggered by user actions, sensor outputs, or messages from other applications or services. |
Software Development Life Cycle Tutorial
WR










