範例:使用物件、物範本或物形式
何時使用物範本?
例如:如果貴公司租賃智慧型連線車輛,您便可使用 GenericThing 物範本作為基礎範本來建立 Vehicle 物範本。根據 Vehicle 物範本,建立 CarTruck 物範本。根據 Car 範本,建立 Electric Car 物範本與 Internal Combustion Car 物範本。根據 Truck 物範本,建立 Tanker Truck 物範本與 Refrigerated Truck 物範本。建立實行這些物範本的個別物件。此情境如下圖所示:
何時使用物形式?
物範本可以實行 0 個、一個或多個「物形式」。
某公司擁有冷藏車 (基於 Truck 物範本) 與冷藏式販賣機 (基於 Vending Machine 物範本)。這兩個實體擁有例如工作溫度、容量、電力消耗與熱輸出等通用內容。請不要定義此行為兩次,高效率的作法是在 Refrigerated Unit 物形式中定義此行為。兩個實體可以重複使用此「物形式」。
物件、物範本與物形式如何共同運作?
下圖說明「物範本」、「物形式」與「物件」共同運作的方式。請注意下列幾點:
VehicleTemplate 物範本實行系統物範本 RemoteThing 作為基礎範本,並繼承 AssetShapeEngineShape 物形式。因此,VehicleTemplate 擁有 RemoteThing 物範本及 AssetShapeEngineShape 物形式的所有內容與服務。
PassengerCarTemplateTruckTemplateBusTemplate 物範本實行 VehicleTemplate 物範本作為基礎範本。因此,它們繼承了 VehicleTemplate 物範本的所有內容與服務。
TruckTemplateBusTemplate 物範本繼承 TrackerShape 物形式。除了 VehicleTemplate 物範本的內容以外,它們還擁有 TrackerShape 物形式的內容。
C1C2、….、Cn 物件實行 PassengerCarTemplate 作為基礎範本。
T1T2、….、Tn 物件實行 TruckTemplate 作為基礎範本。
B1B2、….、Bn 物件實行 BusTemplate 作為基礎範本。