CPSC 421 OOP Final Exam Crossword V

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