Computer Science · College

Software Engineering and Design Patterns

Common software design patterns and software engineering principles from an intro course.

36 cards · basic cards · AI-written, checked twice. Edit anything.

Study this set free Get FlashKeepers for iPhone
What is the Singleton design pattern?
A pattern that restricts a class to have only one instance and provides a global point of access to it.
What is the Factory design pattern?
A pattern that creates objects without specifying the exact classes of objects to be created.
What is the Observer design pattern?
A pattern where multiple objects (observers) watch for and react to changes in another object (subject).
What is the Strategy design pattern?
A pattern that defines a family of algorithms, encapsulates each one, and makes them interchangeable.
What is the Decorator design pattern?
A pattern that adds new functionality to an object dynamically without modifying its structure.
What is the Adapter design pattern?
A pattern that converts the interface of a class into another interface clients expect, allowing incompatible objects to work together.
What is the Template Method design pattern?
A pattern that defines the skeleton of an algorithm in a base class, letting subclasses override specific steps.
What is the State design pattern?
A pattern that allows an object to alter its behavior when its internal state changes.
What is the Builder design pattern?
A pattern that separates the construction of a complex object from its representation, allowing step-by-step creation.
What is the Facade design pattern?
A pattern that provides a unified, simplified interface to a set of interfaces in a subsystem.
What does DRY stand for?
Do Not Repeat Yourself - avoid duplicating logic and code throughout a codebase.
What does SOLID stand for?
Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion.
What is the Single Responsibility Principle?
A class should have only one reason to change, meaning it should have only one job or responsibility.
What is the Open/Closed Principle?
Software entities should be open for extension but closed for modification.
What is the Liskov Substitution Principle?
Objects of a superclass should be replaceable with objects of its subclasses without breaking the application.

21 more cards in the app