A company that makes Computer Assisted Design (CAD) software has, within its application,
some utility classes that are used to perform 3D rendering tasks. The company’s chief scientist
has just improved the performance of one of the utility classes’ key rendering algorithms, and has
assigned a programmer to replace the old algorithm with the new algorithm. When the
programmer begins researching the utility classes, she is happy to discover that the algorithm to
be replaced exists in only one class. The programmer reviews that class’s API, and replaces the
old algorithm with the new algorithm, being careful that her changes adhere strictly to the class’s
API. Once testing has begun, the programmer discovers that other classes that use the class she
changed are no longer working properly. What design flaw is most likely the cause of these new
bugs?
A.
Inheritance
B.
Tight coupling
C.
Low cohesion
D.
High cohesion
E.
Loose coupling
F.
Object immutability
B is correct. Tight coupling means: one class can invoke the attributes of other classes directly without using their API.