Hide Delegate(隱藏「委託關係」)

2021-08-02 20:27:54 字數 662 閱讀 9683

客戶通過乙個委託類來呼叫另乙個物件。

在服務類上建立客戶所需的所有函式,用以隱藏委託關係。

「封裝」意味每個物件都應該盡可能少了解系統的其他部分。如此一來,一旦發生變化,需要了解這一變化的物件就會比較少—這會使變化比較容易進行。

如果某個客戶先通過服務物件的字段得到另乙個物件,然後呼叫後者的函式,那麼客戶必須知曉這一層委託關係。萬一委託乾洗發生變化,客戶也得相應變化。你可以在服務物件上放置乙個簡單的委託函式,將委託關係隱藏起來,從而去除這種依賴。這麼一來,即便將來發生委託關係上的關係,變化也將被限制在服務物件中,不會涉及客戶。

對於每乙個委託關係中的函式,在服務物件短建立乙個簡單的委託函式。

呼叫客戶,令它值呼叫服務物件提供的函式。

1)如果使用者和服務提供者不在同乙個包,考慮修改委託函式的訪問許可權,ran給客戶得以在包之外呼叫它。

每次調整後,編譯並測試。

如果將來不再有任何客戶需要取用delegate(委託類),便可移除服務物件短而相關訪問函式

編譯,測試。

典型委外處理

兩種典型委外處理 外包業務是乙個普通的業務 通常發生在 1.企業短期內訂單過多暫時產能不足,為了如期交貨需要外援 2.產品的某道關鍵工序企業自有生產工藝滿足不了需求 3.隨著產品生命週期不斷縮短,為了避免企業生產投資負擔,某道工序外包低於自製成本 4.企業產品線長 可以將非核心的業務外包以降低成本等...

公司委外加工

最常見的委外方式有兩種,一種是工序委外,一種是委外加工.工序委外通常發生在 1.企業短期內訂單過多暫時產能不足需要外援 2.產品的某道關鍵工序企業自有生產工藝滿足不了需求 3.某道工序外包比自製成本低等.一般我們理解工序委外指受委託加工企業不再提供任何物料只賺取加工費,如果受託企業提供部分物料,而企...

匿名委託 Invoke,Predicate 委託

1 控制項的invoke不能直接呼叫匿名委託,需要乙個methodinvoker物件 invoke定義原型 public object invoke delegate method public object invoke delegate method,params object args met...