【設計模式】18.策劃者模式
阿新 • • 發佈:2020-08-22
說明:在有多個情況或模式情況,代替掉if-else的寫法。需要一個配置,抽象角色和很多具體角色,個人感覺寫起來還挺舒服的。
實現:
public abstract class ABS_shuishou { public abstract void jiaoshui(); } public class geren_shuishou : ABS_shuishou { public override void jiaoshui() { //個人交稅 } } publicclass qiye_shuishou:ABS_shuishou { public override void jiaoshui() { //企業交稅 } } /// <summary> /// 角色設定 /// </summary> public class jueseOption { private ABS_shuishou ss; public jueseOption(ABS_shuishou m) { ss= m; } public void jiaoshui() { ss.jiaoshui();//可以控制到底誰交稅? } } public class test { public void start() { jueseOption geren = new jueseOption(new geren_shuishou()); geren.jiaoshui(); jueseOption qiye= new jueseOption(new qiye_shuishou()); qiye.jiaoshui(); } }