策略模式:它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。
例子:
/**
* @author zdy
* @create 2018-11-15 22:53
*/public abstract class cashsuper
/**
* @author zdy
* @create 2018-11-15 22:54
*/public class cashnormal extends cashsuper
}
/**
* @author zdy
* @create 2018-11-15 22:55
*/public class cashrebate extends cashsuper
@override
public double acceptcash(double money)
}
/**
* @author zdy
* @create 2018-11-15 22:58
*/public class cashreturn extends cashsuper
@override
public double acceptcash(double money)
return result;
}}
/**
* @author zdy
* @create 2018-11-15 23:11
*/public class cashcontext
}// 根據具體的策略物件呼叫其accepcash()方法
public double getresult(double money)
}
/**
* @author zdy
* @create 2018-11-15 23:16
*/public class cashtest
}
大話設計模式 第二章 策略模式
策略模式 strategy 它定義了演算法家族,分別封裝起來,讓他們之間可以相互替換,此模式讓演算法的變化,不會影響到試用演算法的客戶。1,定義現金抽象類 現金父類 public abstract class cashsuper 2,定義各個演算法類,全部繼承自現金父類 view code 沒有活動...
第二章 Cach 設計模式 策略模式
思考 示例 可以隨意組合招數,增加三次打擊方法threefighting 而 工廠方法則需要呼叫三次。class pha.yx.design.strategy.context extends registeredobject method fighting method threefighting ...
第二章 策略模式
物件導向的程式設計,並不是類越多越好,類的劃分是為了封裝,但分類的基礎是抽象,具有相同屬性和功能的物件的抽象集合才是類。收費物件生成工廠 策略模式strategy 它定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的使用者。商場收銀時如何 用打折還是...