CPSC 421 OOP Final Exam Crossword II
Across
- 2. A Car class that, in addition to the method drive(), has an approveParking() method is an example of _____ responsibilities
- 5. The base handler class is always _____
- 9. An AKA for PIMPL is _____ _____
- 12. In the example used for Dependency Injection, the class _____ is in the role of Strategy in the Strategy Pattern
- 15. SRP is short for the Single _____ Principle
- 16. std::unique_ptr<> can work with _____ types
- 19. _____ adds external complexity
- 21. API is short of Application Programming _____
- 22. Under LSP, _____ of the supertype must be preserved in the subtype
- 24. In the example used for Dependency Injection, the class _____ is in the role of a ConcreteStrategy in the Strategy Pattern
- 28. SOLID principles are meant to be _____ together
- 31. DIP is short for the Dependency _____ Principle
- 34. A large set of classes for a broad set of purposes is a _____
- 36. Responsibility should be entirely _____ by the class
- 37. The name of the PIMPL pointer of the class Good
- 39. Software entities should be closed for _____
- 41. SOLID principles do not guarantee _____
- 43. Modern design is the design of APIs and how they _____ with each other
- 44. By a class being _____, we mean any new class can inherit and add new features
- 49. Dependency Injection is a broader form of _____ _____ _____
- 50. An AKA for PIMPL is compiler _____
- 51. Handlers reduce _____
- 55. Selecting which implementation of a polymorphic operation (method or function) to call at run time is _____ _____
- 57. Requirements for _____ can vary over time on a project
- 60. A client using the class Good must recompile whenever we _____ a data member
- 61. Low external complexity often means high _____ _____
- 66. Good APIs are _____ enough
- 69. Every _____ should have a single responsibility
- 70. Functions/classes typically for a single purpose is a _____
- 72. In the Test Code Solution, the method _____() is an extension of the interface of DBAccessor
- 74. A partial solution to complexity is _____ features
- 75. Replaces subclassing a large, complex class with subclassing a _____ interface
- 76. Have to develop the _____ to know when is enough
- 77. Good APIs are _____ enough
- 78. Typically we use a struct instead of a class for the implementation of PIMPL since there is no need to keep it _____
- 80. Software entities should be open for _____
- 84. One advantage of Dependency Injection is that it _____ code
- 90. In the implementation of the methods, access to data members is through a _____
- 91. Dependency Injection introduces a controlled increase in _____
- 92. A principle used in conjunction with SOLID
- 95. Under _____, we depend upon abstractions, not concretions
- 96. SOLID principles are _____
- 97. LSP is short for the _____ Substitution Principle
- 100. OCP where implementation is extended through inheritance, is _____'s OCP
- 101. A partial solution to complexity is good _____
- 104. Selecting which implementation of an operation (method or function) to call at compile time is _____ _____
- 105. Under _____, objects in a program should be replaceable with an instance of subtypes without affecting program correctness
- 106. Dependency Injection often _____ the interface beyond that of the regular client
- 109. Under LSP, _____ _____ states that new methods in subtype cannot introduce state changes in a way that is not permissible in the supertype
- 110. C++ uses static dispatch for _____-virtual methods
- 111. Imagine _____ developers working on the different parts
- 112. In the UML Sequence Diagram, the class _____ simulates a database
Down
- 1. In the original UML and Code, the class _____ makes requests of the class DBUtilities
- 2. Handlers allow for _____ template methods
- 3. The traditional layered architecture _____ DIP
- 4. OCP is short for the _____/closed Principle
- 6. With ISP, we prefer _____ _____ interfaces to a general interface
- 7. Large programs are more complex than small programs by an _____ _____ _____
- 8. The first part of the vtable is typeinfo (Yes, I am giving you the answer)
- 10. PIMPL is short for _____ to implementation
- 11. In the motivating example of class Good, the name of the std::vector data member
- 13. A class that _____ from a class with virtual methods also has a vtable
- 14. With a default destructor and std::unique_ptr<>, you need to use the keyword _____ with the destructor definition
- 17. Developers build large programs using _____ APIs as much as possible
- 18. Under DIP, details should depend on _____
- 20. The _____ states that many client-specific interfaces are better than one general-purpose interface
- 23. Another advantage of Dependency Injection is that it can be used for frameworks for creating _____ _____
- 25. Allows _____ handlers to be created and shared
- 26. Methods are _____
- 27. ISP is short for the _____ Segregation Principle
- 29. According to [Koenig, Moo], library design is _____ design
- 30. For each method in the handler, the ConcreteClass must provide a _____
- 32. SOLID principles make it more likely that the system is easy to _____ over time
- 33. APIs are a large-scale mechanism for _____ _____ _____
- 35. Use std::unique_ptr<> instead of a raw pointer for _____
- 38. An entire programming environment, often with a custom language and IDE, is a _____
- 40. The name of the struct for the PIMPL implementation of the class Good
- 42. A client using the class Good must recompile whenever we change the _____ of a data member
- 45. Abstractions can have a _____ cost
- 46. Can add a new data member without violating _____ compatibility
- 47. The goal is to separate _____ operations from the rest of the class interface
- 48. Abstractions can have a _____ _____ cost
- 52. A vtable is created for every class that has _____ _____
- 53. According to [Koenig, Moo], language design is _____ design
- 54. The term "vtable" is short for _____ _____
- 56. Functions/classes for a set of related purposes is a _____
- 58. A client using the class Good must recompile whenever we _____ a data member
- 59. In the example used for Dependency Injection, the class _____ is in the role of a ConcreteStrategy in the Strategy Pattern
- 62. OCP with an abstract base class and we focus on the interface, not the implementation is _____ OCP
- 63. Create new APIs for any _____ functionality
- 64. An advantage of PIMPL is that the class implementation is ______
- 65. We can organize types of APIs into a _____
- 67. An essential skill of development is to forget and _____ on the current task
- 68. Easier to test, as can test _____ handlers
- 71. SOLID principles can be _____
- 73. By a class being _____, we mean it can be compiled, stored in a library, and used by client classes
- 79. C++ uses dynamic dispatch for virtual methods via a _____
- 81. In the original UML and Code, the class _____ is the only class that interacts with the database
- 82. Under _____, a client should not be forced to depend on methods it does not use
- 83. Under LSP, _____ cannot be strengthened in a subtype
- 85. Under LSP, _____ cannot be weakened in a subtype
- 86. C++ uses static dispatch for _____ methods
- 87. In the motivating example of class Good, the name of the std::optional data member
- 88. The composition and frequency of _____ indicate how tasks are isolated
- 89. Handlers are almost always _____ _____ or empty methods
- 93. C++ uses static dispatch for _____
- 94. Good APIs have low _____
- 96. A set of principles used in conjunction with SOLID
- 98. The template method uses the _____ to call the primitive operations
- 99. Under DIP, abstractions should not depend on _____
- 102. The primary purpose of Dependency Injection is for _____
- 103. C++ uses dynamic dispatch for virtual methods via a _____
- 107. Good APIs have a high degree of _____
- 108. One disadvantage of Dependency Injection is that it creates _____ classes