責任鏈模式:如果有多個物件都機會處理請求,責任鏈可使請求的傳送者和接受者解耦,請求沿著責任鏈解耦,請求沿著責任鏈傳遞,直到有乙個物件處理他位置.
public class purchaserequest
public int gettype()
public float getsum()
public int getid() }}
}}}public class client
public purchaserequest sendrequest(int type,int number,float price)
}groupleader.setsuccessor(depratleader);
depratleader.setsuccessor(vicepresident);
vicepresident.setsuccessor(president);
president.setsuccessor(groupleader);
groupleader.processrequest(mclient.sendrequest(1, 100, 40));
groupleader.processrequest(mclient.sendrequest(2, 200, 40));
groupleader.processrequest(mclient.sendrequest(3, 300, 40));
groupleader.processrequest(mclient.sendrequest(4, 400, 140));
100, 40));
200, 40));
300, 40));
400, 140));}}
二十三種設計模式之組合模式
組合模式 將物件聚合成樹形結構來表現 整體 部分 的層次結構。組合模式能讓客戶以一致的方式來處理個別物件以及物件組合。也就是我們可以忽略物件組合與個體之間的差別。應用場景 餐廳合併列印主選單 子選單 public abstract class menucomponent public string ...
二十三種設計模式之工廠模式
工廠模式的核心 例項化物件 原因 有些物件不能直接例項化,比如介面 抽象類及複雜物件的其他依賴 核心 呼叫工廠class的靜態方法例項化物件 以日誌為例 public class staticfactory 核心 先建立工廠物件,之後呼叫工廠方法 例項化工廠模式 public class insta...
二十三種設計模式之模板設計模式
按照我的理解來說,就是乙個流程中,總體的步驟是固定的,但有些步驟是改變的,例如我們做煎蛋這個過程,有哪些步驟是固定的呢,打蛋,下鍋,上碟都是固定的,但有時候我們想吃鹹的,有時候想吃甜的,所以在說放佐料的步驟是改變的。所有的設計模式都是把變化點和固定點分離開來,所謂的固定和變化是相對的,例如我們有乙個...