開發解決方案的最佳作法 > 為資產建模 > 使用物件、物範本與物形式為資產建模
使用物件、物範本與物形式為資產建模
物件是具備內容及企業邏輯的實體裝置、資產、產品、系統、人員或流程的表示。
ThingWorx 透過提供「物範本」與「物形式」來協助為解決方案建模,讓您可以一次定義一個行為並跨解決方案重複使用該行為。「物範本」可透過其內容、服務、事件與訂閱,為「物件」提供基本功能。「物形式」允許跨單一解決方案中的資產重複使用內容。
「物件」會從「物範本」繼承功能。「物範本」可藉由實行「物形式」衍生出一或多個其他特徵。
使用者會與「物件」進行互動,以便取得解決方案中的資訊,以及讀取或寫入資料。
建立物件、物範本與物形式的最佳作法
建立「物件」、「物範本」與「物形式」時,請遵循下列最佳作法:
為您的物件、物範本與物形式定義命名慣例。請記住以下幾點:
請跨實體使用標準命名法。例如:您可跨不同的實體類型使用唯一命名空間前缀,以避免發生衝突。
為實體提供有意義的名稱。
嘗試為您建立的每個實體提供一段有意義的描述。
請避免使用不明確的名稱。
請盡量避免使用長實體名稱。
如需詳細資訊,請參閱 命名實體部份。
針對您建立及修改的所有實體使用標籤。對於複雜的解決方案而言,這有助於區分相同解決方案或多個解決方案的各種模組。對於客戶而言,這有助於區分 ThingWorx Platform 相同實例上不同解決方案的實體。身為開發人員,它允許您透過 ThingWorx Composer 中的實體快速篩選,以及匯出解決方案的模組,以進行測試。建議為標籤設定命名慣例,當您計劃跨相同解決方案的不同模組使用不同標籤時尤其如此。
將模組中的相同實體編組到專案中。每個模組都有它自己的專案。
請盡可能使用「物形式」。
* 
建議您使用物形式來定義内容與服務。如果您在「物範本」中定義內容與服務,則很難將其定義移至「物形式」。
在「物形式」層級定義所有內容、服務與事件。
「物範本」可用來為「物形式」編組及支援繼承。
請盡可能不要在「物範本」與「物件」中實行內容或服務。
允許在「物形式」與「物範本」中執行服務取代。
確保現成的「物形式」與「物範本」無法編輯。
定義註釋以識別支援的 API。如此可確保在升級時會保留服務與內容。
使用「物形式」封裝特定功能。透過使用「物形式」,您可以將新功能輕鬆新增至 ThingWorx 中的現有「物範本」。請勿直接在「物件」中實行「物形式」。請透過「物範本」在「物件」中繼承「物形式」的特徵。
例如,如果您已使用自訂「物範本」與「物件」實行資產,將「物形式」新增至這些「物範本」會很簡單。但是,如果內容或服務是在「物範本」中直接定義,您必須重新建立所有資產才能使用新功能,因為「物範本」或「物件」的基礎「物範本」無法變更。
請勿直接從系統「物範本」衍生「物件」。建議您建立衍生自 ThingWorx 所提供基礎物範本的自訂物範本。如此,您便可透過實行其他「物形式」並將其新增至「物範本」,於稍後新增其他功能。
如果您的解決方案擁有許多已連線的遠端裝置,或者使用 ThingWorx Edge Micro Server 或 EDGE SDK,請使用 RemoteThing 物範本,而不是 GenericThing 物範本作為基礎物範本。根據您需要檔案傳輸還是通道傳輸,使用 RemoteThingWithTunnelsRemoteThingWithFileTransferRemoteThingWithTunnelsAndFileTransfer 物範本。建議您透過指令集檢查是否存在未繫結的遠端「物件」,並在 ThingWorx Platform 上自動建立這些「物件」,來自動化新增遠端繫結的流程。如此一來,您便可在新裝置出貨並投入生產時,在 ThingWorx Platform 上自動建立「物件」。
* 
建立「物件」或「物範本」之後,您無法再變更基礎「物範本」。
使用網路來定義「物件」之間的關係。在網路中,一個「物件」可以是另一個「物件」的父項、子項或同等項。這可讓您為階層結構建模。
永續性考量
此部份描述其他適用的考量事項:
安全性
請務必將所有「物件」、「物範本」與「物形式」都設定為無法編輯。
新增對「物範本」或「物形式」的適當可見度、執行時間與設計時間權限。
定義可存取物形式、物範本或物件的使用者組織、使用者群組與使用者。
升級
使用專案與標籤組織物件、物範本與物形式。如此,您便可以執行例如搜尋、匯出、修改可見度權限以及識別實體以進行升級等任務。
請確保您在建立實體時使用正確的命名慣例。這樣可以節省在升級期間重新命名實體的成本。
延伸與自訂
若要延伸元件物件,請建立繼承 OOTB 物範本的子類型物範本。
根據延伸功能開發人員的指示,取代子類型物範本中的服務與內容。
在新物形式中引入新服務與內容。
這是否有幫助?