 The concrete types, Page and CustomerHandler, don't depend on each other; both depend on ICustomerHandler.The direct effect is that the UI doesn't need to reference the ApplicationLayer or any concrete package that implements the ICustomerHandler.The concrete class will be loaded using reflection.