• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/17

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

17 Cards in this Set

  • Front
  • Back

What is a Software Design Pattern?

Design Patterns are "best practices" for software development to avoid common coding or design issues that might not be noticed immediately

What are 3 different types of Design Pattern?

Creational, Structural, Behavioral

What are the two major Design Patterns on the DEVASC exam?

Observer and MVC (Model View Controller)

What are the two device types called in the "Observer" Design Pattern model?

Observer / Subscriber (as it subscribes to the device it monitors), and Subject / Publisher

What issue does "Observer" Design Pattern solve?

It is the Software Development equivalent of WebHooks, where changes trigger notifications to be pushed to Observers of a subject

Can Observers have multiple Subjects? Can Subjects have multiple Observers?

Both!

Is Observer a Push or Pull model of getting changes that trigger notifications to Observers?

The Subject Pushes a notification to the Observer of a Change event, the Observer must pull the change event information it is interested in from the Subject

What is a "Callback" from an Observer?

Once a change notification is Pushed to all Observers, they invoke a callback pulling the data changes they are interested in

What are drawbacks to the "Observer" Design Pattern?

A continuous string of changes will push notifications for each change to every Observer, this can cause a bandwidth bottleneck

Do different Observers or Subjects ever talk to each other (the similar device type)?

No, the relationship is strictly coupled to the Observer and Subject

What type of Design Pattern is "Observer"?

Behavioral

What type of Design Pattern is "MVC"?

Architectual

What is the "View" in MVC Design Pattern?

The View is the Data Rendering / Presentation of data that is manipulated, purely for consumption of a user, input from the user is sent to and received by the Controller

What is the "Controller" in the MVC Design Pattern?

It is the "middle man" between the user (View) and the back-end system (Model), it gets sent user input that it then sends to the Model to manipulate the data with its business logic, then send the manipulated data back to the controller to then pass back to the View / User

What is the "Model" in the MVC Design Pattern?

This is the back-end system like a Database that is sent user input and instructions on how to manipulate the data, it manipulates the data based on its Database and sends the data back to the Controller to pass back to the View

What does Coupled / De-coupled mean in terms of Design Patterns? Which are coupled or de-coupled?

"Observer" is a coupled model where the Observer is coupled to its Subject, where "MVC" is de-coupled and does not depend on any other component to do its own job in the process

How many other Design Patterns are there?

23 in total