建構區塊 > 建構區塊設計模式 > 標準設計模式
標準設計模式
標準設計模式提供最直接的方法來開發符合建構區塊結構的建構區塊,並允許由解決方案的其餘部份搜尋。這是開發建構區塊時的最常用設計模式。這種類型的建構區塊可以包含 UI 元素以及企業邏輯與資料儲存。對於那些除了 PTC 所提供的內容以外,還需要建立其自有功能的現場小組或客戶,這種類型是理想的選擇。
下圖表示將一組實體視為建構區塊的最基本要求。
此圖表顯示要將一組實體視為建構區塊所需基本實體,也包括實行的實體或或從其他實體延伸的實體。
在此圖中,空心頭實線箭頭 () 表示實體會從箭頭所指向的實體延伸,空心頭虛線箭頭 () 表示實體會實行箭頭所指向的實體。
必要實體
標準設計模式需要下列實體:
專案 - 包含建構區塊實體的 ThingWorx 專案實體。建議的命名慣例在建構區塊的所有實體名稱中包括專案名稱。例如,如果專案命名為 PTC.BuildingBlock,則建構區塊中所有實體的名稱都以專案名稱開始:PTC.BuildingBlock.EntryPointPTC.BuildingBlock.Management_TS 等。
進入點 - 繼承自 PTC.Base.ComponentEntryPoint_TT 物範本,此實體包含所有建構區塊中繼資料,例如名稱、描述、版本、相依建構區塊清單等。每個建構區塊都會從它自己的進入點物範本繼承 PTC.Base.ComponentEntryPoint_TT 物範本,例如 PTC.BuildingBlock.EntryPoint_TT。會根據此物範本建立進入點物件,例如 PTC.BuildingBlock.EntryPoint。當在 ThingWorx 伺服器上第一次部署建構區塊時,可以覆寫進入點物件上的 DeployComponent 服務來執行動作。
管理員 - 建構區塊管理員是建構區塊的主要服務層,提供了多個建構區塊功能。首先,它會作為呼叫到建構區塊之實體的抽象層。其次,它用來配置選單項目、已包含混搭,以及在定義了多個時將使用的管理員。每個建構區塊都應該有一個從 PTC.Base.CommonManager_TT 延伸的管理員物範本,例如 PTC.BuildingBlock.Manager_TT。管理員本身是以建構區塊管理員物範本為基礎的物件。管理員物範本也會實行物形式 (PTC.BuildingBlock.Management_TS)。此物形式應該包含建構區塊所需的所有服務。對於由 PTC 開發的建構區塊,能夠以自訂的方式覆寫這些服務,允許解決方案開發人員根據其自己的目的來覆寫預設服務。若需進一步資訊,可參閱 自訂服務
可選實體
下圖顯示可包括在標準設計模式中的可選實體。在圖中,PTC.MfgModel 建構區塊用作具有模型、資產或設備階層之建構區塊的範例,其物範本在標準設計模式建構區塊中實行模型邏輯物形式。具有虛線輪廓的實體是包括在此模式中的選用實體,用於如下所述的特定目的。其他 ThingWorx 實體也可以包括在標準設計模式中,但這些實體有特定的意義。
此圖表顯示可包括在標準設計模式建構區塊中之必要與選用實體,包括用於實行其他實體或從其他實體延伸的實體。
在此圖中,空心頭實線箭頭 () 表示實體會從箭頭所指向的實體延伸,空心頭虛線箭頭 () 表示實體會實行箭頭所指向的實體。
下列選用實體包括在標準設計模式中:
安全性實體 - 可以建立並用於為每個建構區塊定義不同權限的權限使用者群組。使用者角色只是新增至每個權限使用者群組的另一個使用者群組。
混搭 - 標準設計模式允許將混搭新增為建構區塊功能的一部份。這可能是與主混搭相關的主要資料混搭,或由不同建構區塊所使用的已包含混搭。將由建構區塊開發人員決定哪些特徵用於哪個建構區塊。
模型邏輯實體 - 模型邏輯物形式可供混搭或其他元件使用,目的是透過使用 ThingWorx 所需的組織來強制執行設備的組織安全性。如果使用案例針對個別設備呼叫可見度控制,則需要此項。包含在模型邏輯物形式中的服務會套用至設備階層實體。它們提供的外覆服務可透過建構區塊的管理物形式呼叫至相應的已配置管理員。所有管理員都在 PTC.BaseManager 物件的 DefaultGlobalManagerConfiguration 組態表上註冊。管理員也可以在實行 PTC.Base.ConfigManagement_TS 物形式的任何實體的 ManagerConfiguration 組態表中配置,例如建構區塊的管理員物件,或以實行物形式 (例如,PTC.MfgModel.DefaultWorkUnit_TT) 的物範本為基礎的設備模型物件。這將允許不同模型使用不同的管理員。例如,兩個網站可以採用其需要使用的不同管理員,因為這兩個管理員從不同來源取得資料。
當服務參考其他管理員時,它會首先查詢將呼叫服務的實體上的 ManagerConfiguration 表,確認是否有針對參考的管理員配置的項目。如果在該表中未找到項目,服務會查詢 PTC.Base.Manager 物件上的 DefaultGlobalManagerConfiguration 組態表。
這是否有幫助?