[FAQ] [conception] on a les sémantiques de valeur, d'entité . . . et de collection ?
Salut,
On insiste de plus en plus sur les sémantiques de valeur et d'entité, et on a bien raison de le faire. Mais on se pose régulièrement la question de "mais quelle est la sémantique d'une collection" :question:
Alors, je sais que le terme n'existe pas (encore), mais, je me demande sincèrement si nous ne devrions pas commencer à introduire le concept de "sémantique de collection", étant donné qu'il s'agit d'un concept totalement séparé de celui des deux sémantiques dont on parle généralement.
Je m'explique : on a dans la FAQ une entrée sur la sémantique de valeur et une autre sur la sémantique d'entité
Ne pourrait-on pas introduire une nouvelle entrée proche de
Citation:
Q quand est-ce qu'une classe a sémantique de collection
R On dit d'une classe qu'elle a sémantique de collection quand son objectif est de maintenir
un certain nombre d'éléments d'un type particulier en permettant à l'utilisateur d'y accéder séparément ou de manière groupée.
Cette sémantique particulière prend place exactement entre les sémantiques de valeur et d'entité dont elle recouvre certaines de leur caractéristiques, mais présente également certaines particularités qui lui sont propres :
- il est possible qu'elle soit destinée à servir dans une relation d'héritage, tout comme il est possible qu'elle ne le soit pas
- elle fournit généralement la possibilité d'ajouter, de rechercher et de supprimer un (ou plusieurs) élément(s) particulier
- elle fournit au minimum la possibilité d'accéder en lecture seule à un élément particulier parmi ceux qu'elle contient
- elle peut fournir la possibilité d'accéder à un élément particulier parmi celle qu'elle contient afin de modification
La capacité que l'utilisateur a de copier un objet ayant sémantique de collection et / ou d'affecter un tel objet à un autre (via le constructeur de copie et l'opérateur d'affectation) dépend essentiellement de la sémantique des éléments qu'elle contient : si elle contient des éléments dont le type a sémantique de valeur, la copie et l'affectation seront possibles, mais si elle contient des éléments dont le type a sémantique d'entité, ni l'un ni l'autre ne seront possibles.
Bien sur, ce n'est qu'un "premier jet" et comme il s'agit d'inventer le concept, la "mayonnaise pourrait ne pas prendre". Mais, que pensez vous de cette idée :question: