Использование возможностей интерфейсов: руководство по внедрению интерфейсов вместо конкретных классов в ваш код
Разрешение исключения Illuminate\Contracts\Container\BindingResolutionException в Laravel: методы и примеры кода