策略模式典型應用

2021-07-09 08:09:53 字數 586 閱讀 1312

filenamefilter 這個介面,它在 io 包下面。這個介面只有乙個方法。

boolean accept(file dir, string name);
這個方法只有乙個用處,就是給 file 類裡面的 list() 方法呼叫。

public

string list(filenamefilter filter)

list v = new arraylist<>();

for (int i = 0 ; i < names.length ; i++)

}return v.toarray(new

string[v.size()]);

}

在呼叫 accept 方法的時候,即使傳入 null 值,程式依然能夠正常執行,只是沒有進行過濾工作。這實現了基本的功能。但是如果你想對目錄的過濾匹配規則更多的話,也就是你想實現更多、更複雜的策略的時候,你就可以通過實現這個類,自定義自己的策略,使程式完成既定的目標。**不和具體實現類耦合,只是依賴於介面,可擴充套件。自定義策略,很靈活。

策略模式的典型應用

做了乙個小東西,裡面有多個角色,每個角色都有特殊的選單項,現使用策略模式對其簡單實現。關於策略模式的介紹請參考其他書籍。下面是專案架構和實現 架構 實現 imenustrategy.cs using system using system.collections.generic using syst...

策略模式的典型應用

做了乙個小東西,裡面有多個角色,每個角色都有特殊的選單項,現使用策略模式對其簡單實現。關於策略模式的介紹請參考其他書籍。下面是專案架構和實現 架構 實現 imenustrategy.cs using system using system.collections.generic using syst...

設計模式應用三 策略模式

商場打折 策略可以簡單分為 原價購買 滿減 返利三種策略 系統的操作都要有日誌記錄,通常會把日誌記錄在資料庫裡面,方便後續的管理,但是在記錄日誌到資料庫的時候,可能會發生錯誤,比如暫時連不上資料庫了,那就先記錄在檔案裡面。日誌寫到資料庫與檔案中是兩種演算法,但呼叫方不關心,只負責寫就是 根據狀態進行...