Design Principles Flashcards
What is Coupling?
What is the difference between High/strong coupling, medium coupling, and low coupling?
What does low coupling lead to? What does high coupling lead to?
What is cohesion?
What is the difference between low cohesion and high cohesion?
What is the difference between high coupling/low cohesion and low coupling / high cohesion? Which is more desireable?
What does it mean to encapsulate what varies?
What is the duck-hunt example of encapsulate what varies?
Example of encapsulate what varies:
What are the benefits of encapsulating what varies?
What does it mean to “Code to and Interface, Not an Implementation”?
“Code to an Interface, Not an Implementation” example:
What are the benefits of “Code to an Interface, Not an Implementation”?
What does it mean to “Favour Composition Over Inheritance”?
What kind of relationship does “Favour Composition Over Inheritance” establish? What kind of relationahip does “composition/aggregation” establish?