Practice Test Geeks home

CPSA Software Design Principles Questions and Answers

A software architect is designing a system where a `ReportGenerator` class needs access to customer data.
Instead of allowing `ReportGenerator` to directly instantiate a `CustomerRepository` class, the architect mandates that `ReportGenerator` must depend on an `ICustomerRepository` interface.

The concrete implementation will be provided at runtime.

Which SOLID principle is primarily being applied?

Select your answer