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