В чем преимущество использования инжектора конструктора в хранилище в laravel 5?

Я создаю приложение Laravel 5, и у меня есть хранилище, как показано ниже:

use App\Unit

class UnitRepository implements IUnitRepository
{
public function get_all_units()
{
return Unit::all();
}

// More methods below
}

Примерно в 6 методах в репозитории я делаю что-то вроде
Раздел :: SomeMethod. Теперь мне интересно, если я должен использовать конструктор
впрыск вроде так

class UnitRepository implements IUnitRepository
{
public function __construct(Unit $unit){
$this->unit = $unit
}

public function get_all_units()
{
return $this->unit->all();
}

// More methods below
}

Так что было бы преимуществом использования инжектора конструктора в моем случае. Они какие-то
вид улучшения производительности, учитывая, что я использую фасад примерно в 6 методах?

Ценю помощь

1

Решение

Это не просто вопрос производительности (кстати, разница в показателях производительности в этих двух случаях незначительна).

Как твой Unit Доступ к модели будет доступен практически в любом методе репозитория, использование инжектора конструктора — это четкий способ явно указать прямую зависимость вашего репозитория от Unit учебный класс

Кроме того, если вы введете зависимость в свой конструктор, и в будущем вы измените Unit класс, все, что вам нужно сделать, это изменить параметр конструктора. Вместо этого, используя фасады, вы должны изменить все вызовы фасадов во всех ваших методах.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]