Beispiel: Dinge, Dingvorlagen oder Dingformen verwenden
Wann verwenden Sie Dingvorlagen?
Beispiel: Wenn Ihr Unternehmen intelligent vernetzte Fahrzeuge vermietet, können Sie eine Vehicle-Dingvorlage erstellen, indem Sie die GenericThing-Dingvorlage als Basisvorlage verwenden. Erstellen Sie basierend auf der Vehicle-Dingvorlage die Dingvorlagen Car und Truck. Erstellen Sie basierend auf der Car-Vorlage eine Electric Car-Dingvorlage und eine Internal Combustion Car-Dingvorlage. Erstellen Sie basierend auf der Truck-Dingvorlage eine Tanker Truck-Dingvorlage und eine Refrigerated Truck-Dingvorlage. Erstellen Sie einzelne Dinge, die diese Dingvorlagen implementieren. Die folgende Abbildung zeigt dieses Szenario:
Wann verwenden Sie Dingformen?
Dingvorlagen können keine, eine oder mehrere Dingformen implementieren.
Ein Unternehmen hat Kühllastwagen (basierend auf einer Truck-Dingvorlage) und Kühlautomaten (basierend auf einer Vending Machine-Dingvorlage). Diese beiden Entitäten haben gemeinsame Eigenschaften wie Betriebstemperatur, Kapazität, Stromverbrauch und Wärmeleistung. Anstatt dieses Verhalten zweimal zu definieren, sollte man dies in einer Refrigerated Unit-Dingform tun. Diese Dingform kann von beiden Entitäten wiederverwendet werden.
Wie arbeiten Dinge, Dingvorlagen und Dingformen zusammen?
Die folgende Abbildung zeigt, wie Dingvorlagen, Dingformen und Dinge zusammenarbeiten. Berücksichtigen Sie die folgenden Punkte:
Die VehicleTemplate-Dingvorlage implementiert die System-Dingvorlage RemoteThing als Basisvorlage und erbt die Dingformen AssetShape und EngineShape. Daher weist VehicleTemplate alle Eigenschaften und Dienste der RemoteThing-Dingvorlage und der Dingformen AssetShape und EngineShape auf.
Die Dingvorlagen PassengerCarTemplate, TruckTemplate und BusTemplate implementieren die VehicleTemplate-Dingvorlage als Basisvorlage. Daher erben sie alle Eigenschaften und Dienste der VehicleTemplate-Dingvorlage.
Die Dingvorlagen TruckTemplate und BusTemplate erben die TrackerShape-Dingform. Zusätzlich zu den Eigenschaften der VehicleTemplate-Dingvorlage weisen sie Eigenschaften der TrackerShape-Dingform auf.
Die Dinge C1, C2, …., Cn implementieren PassengerCarTemplate als Basisvorlage.
Die Dinge T1, T2, …., Tn implementieren TruckTemplate als Basisvorlage.
Die Dinge B1, B2, …., Bn implementieren BusTemplate als Basisvorlage.
War dies hilfreich?