CPSC 421 OOP Final Exam Crossword V
Across
- 1. With ISP, we prefer _____ _____ interfaces to a general interface
- 3. Under _____, a client should not be forced to depend on methods it does not use
- 5. Abstractions can have a _____ _____ cost
- 7. A Car class that, in addition to the method drive(), has an approveParking() method is an example of _____ responsibilities
- 9. Can add a new data member without violating _____ compatibility
- 10. Under LSP, _____ cannot be weakened in a subtype
- 16. In the original UML and Code, the class _____ makes requests of the class DBUtilities
- 17. As with the Fibonacci example, it is possible to write ______ templates
- 18. By a class being _____, we mean any new class can inherit and add new features
- 19. With C++ templates as extension points, we get a lot of _____
- 23. std::unique_ptr<> can work with _____ types
- 25. A client using the class Good must recompile whenever we _____ a data member
- 27. All template instantiation is done at ______ time
- 29. With a default destructor and std::unique_ptr<>, you need to use the keyword _____ with the destructor definition
- 31. Under _____, objects in a program should be replaceable with an instance of subtypes without affecting program correctness
- 32. Under DIP, abstractions should not depend on _____
- 36. Template parameters do not have to be ____
- 37. The traditional layered architecture _____ DIP
- 38. Under LSP, _____ cannot be strengthened in a subtype
- 42. Another advantage of Dependency Injection is that it can be used for frameworks for creating _____ _____
- 43. ISP is short for the _____ Segregation Principle
- 47. SOLID principles can be _____
- 49. Dependency Injection introduces a controlled increase in _____
- 52. In the example used for Dependency Injection, the class _____ is in the role of a ConcreteStrategy in the Strategy Pattern
- 54. An advantage of PIMPL is that the class implementation is ______
- 56. In the Test Code Solution, the method _____() is an extension of the interface of DBAccessor
- 57. PIMPL is short for _____ to implementation
- 60. Using C++ Template with lambda functions is very _____
- 62. Have to develop the _____ to know when is enough
- 63. The name of the PIMPL pointer of the class Good
- 67. In the Template Class Extension, we create the processor with Process<_____(compare)>
- 69. One advantage of Dependency Injection is that it _____ code
- 70. Software entities should be closed for _____
- 72. In the motivating example of class Good, the name of the std::vector data member
- 74. A programming language paradigm where algorithms are written in terms of types to-be-specified-later and then instantiated when needed for specific types of the parameters is _____ _____
- 78. Use std::unique_ptr<> instead of a raw pointer for _____
- 79. A principle used in conjunction with SOLID
- 81. C++ templates replaces the need for _____ types (one variable can store many different types of data)
- 82. The _____ states that many client-specific interfaces are better than one general-purpose interface
- 83. Keyword to declare a C++ template
- 84. Template _________ do not have to be types
- 85. Under LSP, _____ _____ states that new methods in subtype cannot introduce state changes in a way that is not permissible in the supertype
Down
- 2. Dependency Injection is a broader form of _____ _____ _____
- 4. OCP with an abstract base class and we focus on the interface, not the implementation is _____ OCP
- 6. Software entities should be open for _____
- 8. Keyword for a type template parameter
- 11. A C++ template is how std::_____() works
- 12. Responsibility should be entirely _____ by the class
- 13. The primary purpose of Dependency Injection is for _____
- 14. C++ templates as extension points allow the use of _____ in lambda functions
- 15. Code is (potentially) _____
- 20. In the original UML and Code, the class _____ is the only class that interacts with the database
- 21. Under LSP, _____ of the supertype must be preserved in the subtype
- 22. OCP is short for the _____/closed Principle
- 24. In the motivating example of class Good, the name of the std::optional data member
- 26. SOLID principles make it more likely that the system is easy to _____ over time
- 28. Abstractions can have a _____ cost
- 30. In the example used for Dependency Injection, the class _____ is in the role of a ConcreteStrategy in the Strategy Pattern
- 33. SOLID principles are _____
- 34. OCP where implementation is extended through inheritance, is _____'s OCP
- 35. LSP is short for the _____ Substitution Principle
- 39. All the advantages of lambdas to std::function, without the _____ disadvantage
- 40. In the example used for Dependency Injection, the class _____ is in the role of Strategy in the Strategy Pattern
- 41. Requirements for _____ can vary over time on a project
- 43. DIP is short for the Dependency _____ Principle
- 44. Lambda functions passed to std::function parameters are very _____
- 45. SOLID principles are meant to be _____ together
- 46. The compiler can _____ lambda functions in template
- 48. A set of principles used in conjunction with SOLID
- 50. A client using the class Good must recompile whenever we _____ a data member
- 51. In the Template Function Extension, the name of the type for the compare function is _____
- 53. Typically we use a struct instead of a class for the implementation of PIMPL since there is no need to keep it _____
- 55. SRP is short for the Single _____ Principle
- 58. In the UML Sequence Diagram, the class _____ simulates a database
- 59. From a template function the compiler will ______ a separate function for each type
- 61. A client using the class Good must recompile whenever we change the _____ of a data member
- 64. In the implementation of the methods, access to data members is through a _____
- 65. An AKA for PIMPL is _____ _____
- 66. An AKA for PIMPL is compiler _____
- 67. Under _____, we depend upon abstractions, not concretions
- 68. By a class being _____, we mean it can be compiled, stored in a library, and used by client classes
- 71. Under DIP, details should depend on _____
- 73. SOLID principles do not guarantee _____
- 75. Dependency Injection often _____ the interface beyond that of the regular client
- 76. The name of the struct for the PIMPL implementation of the class Good
- 77. One disadvantage of Dependency Injection is that it creates _____ classes
- 80. Every _____ should have a single responsibility