Design Patterns

Description

Computer Science Quiz on Design Patterns, created by Miguel Alcaraz Rivera on 27/04/2022.
Miguel Alcaraz Rivera
Quiz by Miguel Alcaraz Rivera, updated more than 1 year ago More Less
Erica Solum
Created by Erica Solum over 8 years ago
Miguel Alcaraz Rivera
Copied by Miguel Alcaraz Rivera over 2 years ago
1
0

Resource summary

Question 1

Question
Adapter is:
Answer
  • creational pattern which defines an interface for creating objects, but delegates the actual responsibility for selecting the class and instantiating the object to a subclass
  • structural pattern that lets you add responsibilities to an object dynamically
  • structural pattern that adapts a class with an incompatible interface to fit your needs

Question 2

Question
Observer is:
Answer
  • behavioral pattern that allows an object to notify other objects when it changes (without knowing what the other objects are)
  • behavioral pattern that lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure. (Similar to Strategy but allows steps to be changed instead of whole implementation)
  • behavioral pattern that allows a class to use different variants of an algorithm

Question 3

Question
Factory method is:
Answer
  • creational pattern which defines an interface for creating objects, but delegates the actual responsibility for selecting the class and instantiating the object to a subclass
  • creational pattern which provides an interface for creating families of related(or dependent) objects without specifying their concrete classes
  • behavioral pattern that lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure. (Similar to Strategy but allows steps to be changed instead of whole implementation)

Question 4

Question
Abstract Factory is:
Answer
  • creational pattern which provides an interface for creating families of related(or dependent) objects without specifying their concrete classes
  • structural pattern that lets you add responsibilities to an object dynamically
  • behavioral pattern that allows a class to use different variants of an algorithm

Question 5

Question
Decorator is:
Answer
  • structural pattern that lets you add responsibilities to an object dynamically
  • behavioral pattern which encapsulates a request as an object
  • structural pattern that adapts a class with an incompatible interface to fit your needs

Question 6

Question
Command is:
Answer
  • behavioral pattern which encapsulates a request as an object
  • behavioral pattern that allows a class to use different variants of an algorithm
  • behavioral pattern that allows an object to notify other objects when it changes (without knowing what the other objects are)

Question 7

Question
Use case for abstract factory:
Answer
  • system should be independent of product creation
  • want to configure with multiple families of products
  • want to ensure that a product family is used together
  • when an algorithm consists of varying and invariant parts that must be customized
  • a class can't anticipate the class of objects it must create

Question 8

Question
Use cases for factory method:
Answer
  • a class can't anticipate the class of objects it must create
  • a class wants its subclasses to specify the objects it create
  • you need to use several subclasses, but its impractical to adapt their interfaces by subclassing each one
  • many classes differ only in their behavior
  • want to configure with multiple families of products

Question 9

Question
Use cases for decorator:
Answer
  • add responsibilities to individual objects dynamically and transparently
  • when responsibilities for objects can be withdrawn
  • when extension of functionality by subclassing is impractical
  • parameterize objects by an action to perform
  • client needs different variants of an algorithm
  • system should be independent of product creation

Question 10

Question
Use cases for command:
Answer
  • parameterize objects by an action to perform
  • specify, queue, and execute requests at different times
  • structure a system around high-level operations built out of primitives
  • you want to create a reusable class that cooperates with unrelated classes that might not have compatible interfaces
  • client needs different variants of an algorithm
  • system should be independent of product creation

Question 11

Question
Bridge pattern:
Answer
  • Decouples an abstraction from an implementation so the two can vary independently
  • Provides a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface making the subsystem easier to use.
  • Provide a surrogate or placeholder for another object to control access to it

Question 12

Question
Mediator is:
Answer
  • Defining an object that encapsulates how a set of objects interact.
  • A way for controlling communication between classes or entities.
  • Use sharing to support large numbers of fine-grained objects efficiently
  • Compose objects into tree structures to represent part-whole hierarchies

Question 13

Question
Chain of Responsibility is:
Answer
  • Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request
  • Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations
  • Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation
  • Define an object that encapsulates how a set of objects interact

Question 14

Question
Facade:
Answer
  • Provides a unified interface to a set of interfaces in a subsystem
  • Converts the interface of a class into another interface clients expect
  • Attaches additional responsibilities to an object dynamically
  • Provides a surrogate or placeholder for another object to control access to it

Question 15

Question
Flyweight:
Answer
  • Uses sharing to support large numbers of fine-grained objects efficiently
  • Specifies the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype
  • Defines the skeleton of an algorithm in an operation, deferring some steps to subclasses
  • Represents an operation to be performed on the elements of an object structure

Question 16

Question
Proxy:
Answer
  • Provides a surrogate or placeholder for another object to control access to it
  • Has a simulated object that mimics the behavior of a real object in controlled ways1
  • Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype
  • Define the skeleton of an algorithm in an operation, deferring some steps to subclasses

Question 17

Question
Visitor:
Answer
  • Lets you define a new operation without changing the classes of the elements on which it operates
  • Attach additional responsibilities to an object dynamically
  • Decouple an abstraction from an implementation so the two can vary independently
  • Define a family of algorithms, encapsulate each one, and make them interchangeable

Question 18

Question
Model-View-ViewModel:
Answer
  • Decouples the model from the view, uses data binding from the view to the middle layer, and allows UI/UX designers to work almost independently from application developers
  • Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically
  • Represent an operation to be performed on the elements of an object structure

Question 19

Question
Data Access Object:
Answer
  • Provides an abstract interface to some type of database or other persistence mechanism.
  • Defines a family of algorithms, encapsulate each one, and make them interchangeable
  • Compose objects into tree structures to represent part-whole hierarchies
Show full summary Hide full summary

Similar

Computing Hardware - CPU and Memory
ollietablet123
SFDC App Builder 2
Parker Webb-Mitchell
Data Types
Jacob Sedore
Intake7 BIM L1
Stanley Chia
Software Processes
Nurul Aiman Abdu
CCNA Answers – CCNA Exam
Abdul Demir
Abstraction
Shannon Anderson-Rush
Spyware
Sam2
HTTPS explained with Carrier Pigeons
Shannon Anderson-Rush
Data Analytics
anelvr
Database Replication
Michael Mahfouz