1/65
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Design Pattern
describes a core problem that occurs in code and a solution for that problem
What are the three types of design patterns
creational, structural, behavioral
Creational Design Patterns
instantiating/creating objects
Structural Design Patterns
composition of classes and objects
Behavioral Patterns
how class objects interact and distribute responsibility
Factory Method - Creational Design Pattern
interface for creating objects in a superclass. subclasses can alter the objects being created
Abstract Factory - Creational Design Pattern
interface for creating families of related objects without specifying concrete classes
Builder - Creational Design Pattern
construct objects step by step. separates construction logic from the final build so that the same logic can be used for another object
Prototype - Creational Design Pattern
clone an object with modified properties so that the original object stays the same
Singleton - Creational Design Pattern
class has only one instance with a global access point to it. ex: database connection
Adapter - Structural Design Pattern
allows incompatible code to work together by creating a wrapper (adapter) that converts one interface into another that the client expects
Bridge - Structural Design Pattern
splits a large class into two separate hierarchies (abstraction - shape & implementation - color) so they can develop independently
Composite - Structural Design Pattern
organizes objects into tree structures so that clients can treat individual and composite objects uniformly through a common interface
Decorator - Structural Design Pattern
allows behavior to be added to an object (static or dynamic) without affecting behavior of other objects
Facade - Structural Design Pattern
provides a simple & unified interface to a complex subsystem
Flyweight - Structural Design Pattern
minimizes memory usage by sharing common object data among multiple objects. reuses existing objects
Proxy - Structural Design Pattern
placeholder object to control access to another object
Chain of Responsibility - Behavioral Design Pattern
pass requests along a chain of potential handlers. each handler decides to process the request or to pass it to the next handler
Command - Behavioral Design Pattern
turns a request into a stand-alone object containing all info about the request. allows you to pass requests as arguments
Interpreter - Behavioral Design Pattern
used to parse and interpret structured expressions such as mathematical formulas or command languages
Iterator - Behavioral Design Pattern
allows you to traverse the elements of a collection
Mediator - Behavioral Design Pattern
centralizes communication between objects through a mediator object. messages are sent through the mediator
Memento - Behavioral Design Pattern
captures and stores an objects internal state so it can be restored later
Observer - Behavioral Design Pattern
a central subject notifies multiple observer objects of any state changes
State - Behavioral Design Pattern
allows an object to change its behavior when its internal state changes
Strategy - Behavioral Design Pattern
defines a family of algorithms, encapsulates each one in a class, then makes them interchangeable. allows client to switch an algorithm at runtime without altering any code
Visitor - Behavioral Design Pattern
add new operators to a group of objects without changing the classes of those objects
Template Method - Behavioral Design Pattern
defines the skeleton of an algorithm in a superclass. subclasses can override specific steps of the algorithm without changing the overall structure
SOLID Principles
S - Design Patterns
O - Design Patterns
L - Design Patterns
I - Design Patterns
D - Design Patterns
Anti-Patterns
Unit Testing
Integration Testing
System Testing
Regression Testing
Compatibility Testing
Stress Testing
Usability Testing
Review Boz Bowles Engineering Talk Slides
Functional Testing
Non-Functional Testing
White Box Testing
Black Box Testing
Test Plan
Test Case
Test Suite
Recovery Testing
Performance Testing
Automation Testing
Manual Testing
Bloaters (Anti-Patterns)
Dead Code (Anti-Patterns)
Couplers (Anti-Patterns)
Middle Man (Anti-Patterns) - Coupler
Feature Envy (Anti-Patterns) - Coupler
Messages Chaining (Anti-Patterns) - Coupler
What are the 4 couplers?
middleman, feature envy, message chaining, inappropriate intimacy
Golden Hammer (Anti-Patterns)
God Object (Anti-Patterns)
Poltergeist (Anti-Patterns)
Abstract Inversion (Anti-Patterns)
Circular Dependency (Anti-Patterns)