Invariant - Modèle de SelfDrivingVehicle qui reste inchangé dans tous les sous-types, c'est-à-dire l'ordre dans lequel il exécute les comportements substitués pour atteindre la destination.
Supposons une autre méthode ici
-List<SelfDrivingVehicle> vehicles
+Add(SelfDrivingVehicle vehicle)
vehicles.add(vehicle)
Condition préalable - SelfDriveVehicle le type de base ne contient aucun véhicule (ici, le contexte est Ajouter) et sa condition préalable affaiblie qui ne peut être modifiée par aucun de ses sous-types en modifiant les véhicules de propriété et en le renforçant explicitement. N'importe lequel des sous-types peut uniquement appeler Add.
Postcondition - Une fois que Add est invoqué, le type de base est en postcondition renforcée qui ne peut pas être affaiblie par des sous-types en modifiant la valeur des véhicules.
L'état du type de base revient à son état d'origine une fois que le comportement d'ajout est invoqué.
Vishal Patwardhan
la source