Qu'est-ce qui constitue un modèle, et qu'est-ce qui n'en est pas un ?

  • Publié sur Chris Richardson (microservices.io)
  • Sélectionné le
Qu'est-ce qui constitue un modèle, et qu'est-ce qui n'en est pas un ? - Chris Richardson (microservices.io)
Image : Chris Richardson (microservices.io)

Les ingénieurs logiciels s'appuient sur de nombreux types de connaissances réutilisables, notamment des principes, des pratiques, des techniques, des modèles, des conceptions, des méthodes, des règles, des architectures de référence et des approches d'implémentation. Nombreux sont ceux qui écrivent sur les modèles, moi y compris. J'ai cependant constaté que, comme beaucoup de concepts en génie logiciel, celui de modèle a souffert d' une diffusion sémantique . On a tendance à qualifier de « modèles » de nombreuses connaissances réutilisables, même lorsqu'elles ne correspondent pas à la définition, et à appeler « langage de modèles » tout ensemble de ces connaissances.

Cela me préoccupe pour plusieurs raisons. Je suis un fervent défenseur des patrons de conception et des langages de patrons depuis que le livre « Design Patterns » du Gang of Four les a popularisés dans le milieu du développement logiciel au milieu des années 90, pour les raisons que je décris ci-dessous. J'apprécie la conception pilotée par le domaine (DDD), qui repose sur une terminologie précise. Et en tant qu'auteur, je m'efforce de choisir mes mots avec soin…