FlashKeepers

Computer Science · College

Software Engineering, Unit 4: Common Design Patterns

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.

Study this set free Look inside first Get FlashKeepers for iPhone
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