Exemple : utilisation d'objets, de modèles d'objet ou de formes d'objet
Quand utiliser des modèles d'objet ?
Par exemple : si votre entreprise loue des véhicules connectés intelligents, vous pouvez créer un modèle d'objet Vehicle en utilisant le modèle d'objet GenericThing comme modèle de base. A partir du modèle d'objet Vehicle, créez les modèles d'objet Car et Truck. A partir du modèle d'objet Car, créez un modèle d'objet Electric Car et un modèle d'objet Internal Combustion Car. A partir du modèle d'objet Truck, créez un modèle d'objet Tanker Truck et un modèle d'objet Refrigerated Truck. Créez des objets individuels qui implémentent ces modèles d'objet. L'image suivante illustre ce scénario :
Quand utiliser des formes d'objet ?
Les modèles d'objet peuvent implémenter 0, une ou plusieurs formes d'objet.
Une entreprise possède des camions réfrigérés (basés sur un modèle d'objet Truck) et des distributeurs réfrigérés (basés sur un modèle d'objet Vending Machine). Ces deux entités partagent des propriétés, notamment la température de fonctionnement, la capacité, la consommation d'énergie et la génération de chaleur. Au lieu de définir ce comportement deux fois, il est plus efficace de le définir dans une forme d'objet Refrigerated Unit, qui peut être réutilisée par les deux entités.
Comment les objets, les modèles d'objet et les formes d'objet fonctionnent-ils ensemble ?
L'image ci-après illustre la façon dont les modèles d'objet, les formes d'objet et les objets fonctionnent ensemble. Prenez note des points suivants :
Le modèle d'objet VehicleTemplate implémente le modèle d'objet système RemoteThing comme modèle de base, et hérite des formes d'objet AssetShape et EngineShape. Par conséquent, le modèle d'objet VehicleTemplate dispose de l'ensemble des propriétés et services du modèle d'objet RemoteThing et des formes d'objet AssetShape et EngineShape.
Les modèles d'objet PassengerCarTemplate, TruckTemplate et BusTemplate implémentent le modèle d'objet VehicleTemplate en tant que modèle de base. Ils héritent ainsi de l'ensemble des propriétés et services du modèle d'objet VehicleTemplate.
Les modèles d'objet TruckTemplate et BusTemplate héritent de la forme d'objet TrackerShape. En plus des propriétés du modèle d'objet VehicleTemplate, ils possèdent celles de la forme d'objet TrackerShape.
Les objets C1, C2, …., Cn implémentent le modèle d'objet PassengerCarTemplate comme modèle de base.
Les objets T1, T2, …., Tn implémentent le modèle d'objet TruckTemplate comme modèle de base.
Les objets B1, B2, …., Bn implémentent le modèle d'objet BusTemplate comme modèle de base.