A company has a business application that provides its users with many different reports:
receivables reports, payables reports, revenue projects, and so on. The company has just
purchased some new, state-of-the-art, wireless printers, and a programmer has been assigned the
task of enhancing all of the reports to use not only the company’s old printers, but the new
wireless printers as well. When the programmer starts looking into the application, the programmer
discovers that because of the design of the application, it is necessary to make changes to each
report to support the new printers. Which two design concepts most likely explain this situation?
(Choose two.)
A.
Inheritance
B.
Low cohesion
C.
Tight coupling
D.
High cohesion
E.
Loose coupling
F.
Object immutability