Scénario: Utilisation d'une approche hiérarchisée avec les services WCF: services métier renvoyant des objets domaine/DTO au client. Toujours en développement, nous pouvons rompre les contrats.Approche pour concevoir des objets de service spécifiques ou génériques?
Personne objet a son prénom et nom. L'objet membre possède le numéro de dossier fiscal et la date de naissance. C'est parce que, dans notre domaine, seuls les membres obtiennent les numéros de dossier d'impôt et les dates de naissance. Lorsque vous récupérez des données à partir d'un service à l'aide de cette structure, vous savez quels attributs sont applicables.
Maintenant, nous présentons un autre service qui a un usage pour les personnes dites Employé. Dans cet usage, l'objet Personne nécessite le numéro de fichier d'impôt des attributs supplémentaires et la date de naissance.
Quelle est la meilleure façon de procéder?
1) Traiter l'objet Personne comme une personne générique et inclure tous les attributs. Cela mappe la personne à une personne du monde réel, pas nécessairement basée sur l'utilisation. Cela signifie que les services qui renvoient des personnes incluront le numéro de dossier fiscal et la date de naissance, même s'ils peuvent ne pas être pertinents.
2) Dupliquer les champs supplémentaires dans Employee. Cela laisse la personne telle quelle et maintient les appels de service spécifiques au détriment de la duplication.
3) Créez un autre objet entre PersonWithDOBTFN dont nous héritons pour Member et Employee. Cela supprime la duplication, garde les choses spécifiques mais introduit de la complexité.
Je suis vraiment à la recherche d'une approche de meilleure pratique pour concevoir ces objets.