1. | List and describe the preferred characteristics of an object-oriented architecture. |
2. | State the definition of the Liskov substitution principle. |
3. | Define the term class invariant. |
4. | What is the purpose of a method precondition? |
5. | What is the purpose of a method postcondition? |
6. | List and describe the three rules of the substitution principle. |
7. | Write the definition and goals of the open-closed principle. |
8. | Explain how the open-closed principle uses the Liskov substitution principle and Meyer design by contract programming to achieve its goals. |
9. | Write the definition and goals of the dependency inversion principle. |
10. | Explain how the dependency inversion principle builds upon the open-closed principle and the Liskov substitution principle/Meyer design by contract programming. |