11.3. Describe the OCP in your own words. Why is it important to create abstractions that serve as an interface between components?
11.4. Describe the DIP in your own words. What might happen if a designer depends too heavily on concretions?
11.7. Is it reasonable to say that problem domain components should never exhibit external coupling? If you agree, what types of components would exhibit external coupling?
11.10. What is the role of interfaces in a class-based component-level design?
11.11. The terms public and private attributes are often used in component-level design work. What do you think each means and what design concepts do they try to enforce?
11.12. What is a persistent data source?
Please do the following problems from the end of Chapter 12 (page 352):
12.1. Describe the best and worst interfaces that you have ever worked with and critique relative to the concepts introduced in this chapter.
12.2. Develop two additional design principles that "place the user in control."
12.3. Develop two additional design principles that "reduce the user’s memory load."
12.4. Develop two additional design principles that "make the interface consistent."
E-mail me your answers at: cpersiko@ccsf.edu