Software Engineering, unit: Common Design Patterns. Core concepts, terminology, and worked-example cues a college student meets for this unit, building on prior units without repeating them. Front: a term, concept, or short problem cue. Back: the definition, explanation, or answer.
14 cards · basic cards · AI-written, checked twice. Edit anything.
- What is a design pattern, in software engineering?
- A general, reusable solution to a commonly occurring software design problem
- What is the Model-View-Controller (MVC) pattern?
- A pattern separating data (Model), display (View), and control logic (Controller)
- What is the Singleton pattern used for?
- Ensuring a class has only one instance, accessible globally
- What is the Factory Method pattern?
- A pattern that delegates object creation to subclasses or a dedicated method
- What is the Observer pattern used for?
- Notifying dependent objects automatically when a subject's state changes
- What is the Strategy pattern used for?
- Selecting an algorithm's behavior at runtime from a family of interchangeable options
- What is the Decorator pattern used for?
- Adding responsibilities to an object dynamically without modifying its class
- What is the Facade pattern?
- A pattern providing a simplified interface to a complex subsystem
- What is the Adapter pattern used for?
- Allowing incompatible interfaces to work together
- What is the Command pattern?
- A pattern that encapsulates a request as an object, allowing it to be queued or undone
- What is an anti-pattern?
- A common but ineffective or counterproductive solution to a recurring design problem
- What is the God Object anti-pattern?
- A class that takes on too many responsibilities, becoming overly complex and tightly coupled
- Why are design patterns valuable in team settings?
- They provide a shared vocabulary that speeds up communication and design decisions
- What is the Repository pattern?
- A pattern that abstracts data access logic behind a consistent interface