Je suis en train de refactoriser mon code qui consiste en des contrôleurs, en un design de référentiel.Création d'un modèle de référentiel
Je trouve la partie la plus difficile en pensant à la responsabilité d'un domaine/fonctionnalité spécifique. J'ai une ExchangeController
qui a une méthode trade
. Dans cette méthode, il est possible de changer un Shift
avec un autre décalage.
Donc je pensais avoir un ExchangeRepository
avec la méthode du commerce, mais alors je dois récupérer un Shift
.
N'est-ce pas une mauvaise pratique de récupérer un Shift
directement à partir du modèle (Shift::find($id)
), mais de l'encapsuler en appelant $shiftRepository->get($shiftId)
?
Je commence à l'apprendre, mais parfois, il est vraiment difficile de comprendre certaines choses. Est-ce une bonne pratique d'essayer d'encapsuler la plupart des choses à la sienne, au lieu de simplement aller chercher le modèle?
J'espère que c'est un peu clair, lol ..
Vous encapsuler ceci pour enlever la logique du contrôleur. Si le dépôt est une dépendance injectée en tant qu'interface, je pourrais facilement créer mon propre "ExchangeRepository" qui a fait quelque chose de différent sans changer le contrôleur (ou tout autre code, autre que la liaison IoC à l'interface) –