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 |