Przeszedłem kilka samouczków w Magento 2 i to mnie trochę dezorientuje. Widzę, że istnieją zasadniczo dwa sposoby, dzięki którym możemy odczytywać / zapisywać podmioty gospodarcze:
Pobierać dane
Korzystanie z podejścia fabrycznego
$object = $this->myFactory->create();
$object->load($myId);
Korzystanie z podejścia do repozytorium
$repo = $this->myRepository();
$object = $repo->getById($myId);
Zapisz dane
Korzystanie z podejścia fabrycznego
$object = $this->myFactory->create();
$object->load($myId);
$object->setData('something', 'somethingDifferent')->save();
Korzystanie z podejścia do repozytorium
$repo = $this->myRepository();
$object = $repo->getById($myId);
$object->setData('something', 'somethingDifferent');
$repo->save($object);
Widzę również, że zarówno repozytorium, jak i klasa fabryczna mogą być wstrzykiwane za pomocą wstrzykiwania zależności. To jest mylące przynajmniej dla mnie.
Kiedy powinniśmy zastosować podejście oparte na repozytorium i podejście fabryczne? Jakiej najlepszej praktyki musimy przestrzegać?