Module 2 Lesson 1 Flashcards
the Analysis phase of software development, specifically architectural patterns
What is an architectural pattern in software development?
A reusable solution to a common design problem in software architecture, structuring components and their interactions to achieve goals like scalability and maintainability.
What is Event-Driven Architecture used for?
It is used for real-time data processing and highly scalable applications, like financial systems and IoT, where components communicate asynchronously by producing and consuming events.
What are the components of Layered Architecture?
The components are organized into layers such as Presentation, Business/Application, Data Access, Persistence, and Infrastructure. It is often used in enterprise applications with complex business rules.
What is Monolithic Architecture?
It packages all components of an application into a single unit and is used for simpler applications.
What is Microservice Architecture?
It is an architecture where an application is composed of small, independent services that communicate using APIs. It is ideal for large, complex applications requiring high scalability.
What does MVC (Model-View-Controller) Architecture separate?
It separates an application into three components: Model (data), View (user interface), and Controller (input handling). It is commonly used in web applications.
What is Master-Slave Architecture used for?
It is used for load balancing and high availability in large-scale databases, where the master writes data and the slaves read it.
What factors should you consider when choosing an architectural pattern?
Application size and complexity, scalability requirements, performance needs, and the development team’s expertise.