Software Architectural Patterns:
1. Event-Driven Architecture: - Components: Event Producer, Event Broker, Event Consumers. - Usage: Real-time data processing and highly scalable applications, like financial systems and IoT.
2. Layered Architecture: - Layers: Presentation, Business/Application, Data Access, Persistence, Infrastructure. - Usage: Enterprise applications with complex business rules.
3. Monolithic Architecture: - Structure: All functionalities integrated into a single application. - Usage: Simpler applications, can become cumbersome as the app grows.
4. Microservice Architecture: - Components: API Gateway, Microservices (e.g., Catalog, Shopping Cart, Ordering). - Usage: Large, complex applications requiring high scalability and independent deployment.
5. MVC (Model-View-Controller) Architecture: - Components: Model (data and logic), View (user interface), Controller (handles input). - Usage: Web applications to separate concerns for easier management.
6. Master-Slave Architecture: - Components: Master Server (writes), Slave Servers (reads), Database. - Usage: Load balancing and high availability, suitable for large-scale databases.