1
我正在尋找一個示例來展示如何結合這兩種設計模式(策略和複合)。我知道如何使用Strategy,但Composite對於我來說還不夠清楚,所以我真的不知道如何將它們結合起來。有人有例子或smthg?
乾杯組合複合和策略
我正在尋找一個示例來展示如何結合這兩種設計模式(策略和複合)。我知道如何使用Strategy,但Composite對於我來說還不夠清楚,所以我真的不知道如何將它們結合起來。有人有例子或smthg?
乾杯組合複合和策略
確定這是一個辦法做到這一點了藍色的(僞Java代碼):
interface TradingStrategy {
void buy();
void sell();
}
class HedgingLongTermStrategy implements TradingStrategy {
void buy() { /* TODO: */ };
void sell() { /* TODO: */ };
}
class HighFreqIntradayStrategy implements TradingStrategy {
void buy() { /* TODO: */ };
void sell() { /* TODO: */ };
}
class CompositeTradingStrategy extends ArrayList<TradingStrategy> implements TradingStrategy {
void buy() {
for (TradingStrategy strategy : this) {
strategy.buy();
}
}
void sell() {
for (TradingStrategy strategy : this) {
strategy.sell();
}
}
}
// sample code
TradingStrategy composite = new CompositeTradingStrategy();
composite.add(new HighFreqIntradayStrategy());
composite.add(new HedgingLongTermStrategy());
composite.buy();
你爲什麼希望將它們組合?你有沒有需要這個的邏輯/業務問題? – ryadavilli
用於解決問題的模式,不用於創建模式組合。你想解決什麼問題? –