Exam Flashcards
What does S stand for in the SOLID principles?
Single Responsibility Principle
What does O stand for in the SOLID principles?
Open-Closed Principle
What does L stand for in the SOLID principles?
Liskov Substitution Principle
What does I stand for in the SOLID principles?
Interface Segregation Principle
What does D stand for in the SOLID principles?
Dependency Inversion Principle
What are the Structural Design Rules?
LOLS
DRY
KISS
What does LOLS stand for?
Law of Least Surprises
What does DRY stand for?
Don’t Repeat Yourself
What does KISS stand for?
Keep it Super Simple
What do the conventions E, K, T, V stand for?
Element, Key, Type, Value
Subclasses should only weaken ___-conditions
pre
Subclasses should only strengthen ___-conditions
post
What is verification?
The producer’s view of quality (The system was built right)
What is validation?
The consumer’s view of quality (The right system was built)
What is quality assurance?
All activities designed to measure and improve quality in a product or process
What is quality control?
Activities designed to verify the quality of a product, detect faults, and fix faults prior to release
What does SRP entail?
A class should only have 1 reason to change
What does OCP entail?
Classes should be open to extension but closed to change
What does LSP entail?
Derived classes must be completely substitutable for their base class
What are Microservices?
Microservices is another architectural style which aims to
overcome development throughput deficiencies with traditional
monolithic web based architectures
What does ISP entail?
No calling class should be forced to depend on methods it doesn’t use
What is the rule for package names?
Always lower case
What are HeartBeats and Pings/Echoes?
HeartBeat and Ping/Echo are different architectural tactics which can be used to detect faults in multi-component systems
What does DIP entail?
Both high level and low level classes depend on abstraction.
Abstraction should not depend on details, but the opposite.