Je viens de rencontrer un "problème intéressant", sur lequel j'aimerais avoir votre avis:
Je développe un système et pour de nombreuses raisons (c'est-à-dire: abstraction, indépendance technologique, etc.) nous créons nos propres types d'échange d'informations.
Par exemple: s'il existe une méthode appelée SendEmail et invoquée par la logique métier, elle possède un paramètre de type OurCompany.EMailMessage, qui est un objet totalement indépendant de la technologie et ne contenant que des "données pertinentes pour l'entreprise" (pour exemple, aucune information sur le codage de la tête).
Dans la fonction SendEmail, nous obtenons ces informations de notre objet EMailMEssage et créons un objet MailMessage (celui-ci est spécifique à la technologie) afin qu'il puisse être envoyé sur le réseau.
Comme vous pouvez déjà le remarquer, notre classe a un nom très similaire à la classe de langue "native". Le problème est: c'est exactement ce qu'ils sont, des e-mails, il est donc difficile de leur trouver un autre nom significatif.
Avez-vous souvent ce problème? Comment gères-tu ça?
Edit: @mgkrebbs vient de commenter l'utilisation de noms pleinement qualifiés. C'est notre approche actuelle, mais un peu trop verbeuse, à mon humble avis. J'aimerais quelque chose de plus propre, si possible.