/*
   型樣架構(型樣實作結構概觀)
   位於 com.ibm.xtools.patterns.framework 外掛程式中的架構
   位於 com.ibm.xtools.patterns.sample 外掛程式中的範例實作
*/

class Pattern extends AbstractPatternDefinition {

   ... 起始設定 meta 資料(根據靜態或動態而有所不同)
   ... 起始設定專用保留的型樣參數
   ... 宣告型樣參數相依關係(對參數觸發更新呼叫)

   private class Instance extends AbstractPatternInstance {
      ... 處理實例導向擴充的 expand 方法(提供預設值)
      ... 處理目標型實例行為的邏輯(提供預設值)
      ... 動態處理實例表示法的命名
   }

   private class Parameter [0..*] extends AbstractPatternParameter {
      ... 起始設定 meta 資料(根據靜態或動態而有所不同)
      ... 宣告選用的 OCL2 限制項來驗證提出的值
      ... 處理參數導向新增值的 expand 方法(提供預設值)
      ... 處理參數導向移除值的 expand 方法(提供預設值)
      ... 處理參數導向維護值的 expand 方法
      ... 處理參數相依關係通知的 update 方法
      ... 處理驗證提出值的有效方法(提供預設值)
   }

}