今天學習另乙個設計模式,介面卡(adapter)模式,這是乙個共同方向,但有特殊要求,就應用到此設計模式。寫到這裡,想起很久以前,有寫過一篇《asp.net的介面卡設計模式(adapter)》 ,但是似乎沒有介面卡的味道。
比如乙個系統,開發時設計好各種許可權,但某一種,客戶提出要求,需要乙個特殊的許可權來操作。只好開發乙個介面卡來讓其有這個特殊操作許可權。
用**來舉例吧。
先定義介面:
開發時,我們需要把許可權細分, 讀,寫,刪......,這樣產生很多細分的類:
讀:
寫:
刪:
等等,下面是特殊要求,讓某些操作者能有寫和刪除的許可權,因此需要開發乙個特殊的介面卡:
客戶端實現:
執行結果:
OOAD 設計模式之介面卡(Adapter)模式
介面卡模式是物件的結構模式。介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。類的介面卡模式是通過繼承類適配者類實現,類介面卡實現客類所需的介面,當客戶物件呼叫類介面卡方法時,介面卡內部呼叫它所繼承的適配者的方法。物件的介面卡利用了...
Adapter 介面卡設計模式
定義抽象圖形類 author softstar abstract class shape public shape int x,int y public void setlocation int x,int y public int getlocation abstract void display...
設計模式 介面卡 Adapter
在軟體系統中,由於應用環境的變化,常常需要將 一些現存的物件 放在新的環境中使用,但是新環境要求的介面是這些現存物件所不滿足的。如何應對這種 遷移的變化 如何既能利用現有物件的良好實現,同時又能滿足新的應用環境所要求的介面?將乙個類的介面轉換成客戶希望的另乙個介面。adapter模式使得原本由於介面...