• [^] # Re: De charybde en scylla

    Posté par (site web personnel) . En réponse au message fichier d'en tête fich.h. Évalué à 2.

    C'est toute la différence, quand je manipule des entités (comme ici avec une hiérarchie polymorphe), j'ai les copies en horreur. Rien de tel pour perdre l'entité à chaque fois que son état doit évoluer -- sans parler de la complexité pour avoir une semantique de copie fiable sur des entités (polymorphes, c'est pire) en C++. Les valeurs, naitre et mourrir sans cesse est dans leur essence, les entités persistent et se lient.

    L'entité initiale, on ne s'en tamponne pas, c'est ce qui permet d'établir des liens entre les diverses entités du système (proprio, préfecture, voiture, auto radio, carte grise, moteur, roues, ...). À chaque mutation de type, c'est tous les liens que l'on doit retisser.

    Accessoirement, avec le state pattern on ne requalifie pas entièrement une entité, mais l'état d'une entité.

    Des champs spécifiques à la voiture achetée ....? Hum, la carte grise, le contrat d'entretien, la garantie, les références du vendeur, ... Chacune des classes peut être amenée à fournir cela à une tierce partie.

    Ou si tu préfères, tu prends une voiture et ses passagers. Un passager observe le monde voiture (chercherAutoradio) et agit eventuellement dessus (ouvrirPorte), la voiture va envoyer des feedbacks vers ses passagers (crash, ...).
    Tu ne va quand même pas avoir 2^4 classes de voitures pour chacun des passagers qui peut être ou ne pas être là tout de même ?