2010-07-27 8 views
3

Il existe une bibliothèque DAL qui expose une douzaine de référentiels. Un référentiel par entité. Il y a PersonRepository & PhotoRepository.DAL: question sur les limites du dépôt

Lorsque j'ajoute une nouvelle méthode au référentiel et que la méthode traite l'entité, il est évident que je dois la mettre. Si je veux CreatePerson je vais créer PersonRepository::Create(...) ou quand j'ai besoin de mettre à jour la photo, je vais créer PhotoRepository::Update

Mais quand la méthode traite des relations d'entités, les choses viennent parfois. Dois-je créer PersonRepository::AssignPhoto(PersonId, PhotoId) ou dois-je créer PhotoRepository::AssingToPerson(PhotoId, PersonId) par exemple? Si les choses sont claires pour moi (je suppose que Person est une entité plus importante que Photo donc je vais créer une méthode PersonRepository), certains développeurs ne trouvent pas de méthode appropriée et ont tendance à créer des doublons dans PhotoRepository.

Comment minimisez-vous ce problème?

Peut être vous créez les deux méthodes (PersonRepository::AssignPhoto & PhotoRepository::AssignToPerson) en même temps (un des délégués de méthode appel à un autre où il est mis en œuvre)? Ou devons-nous avoir de fortes méthodes de dépôt des noms de convention dans l'équipe? Ou peut-être que je vais changer l'approche des limites du dépôt?

Répondre

0

Dans un monde orienté objet, j'aurais un objet Personne avec une méthode AssignPhoto.

Pour manipuler des relations d'objet manipulations sur les dépôts se sent comme une approche procédurale, au moins pour moi.

+0

Mais comment décidez-vous? –