策略模式 工廠模式優化if else

2021-10-14 12:04:12 字數 889 閱讀 1874

2.優化if else

思路描述:構建支付型別業務處理介面,不同的支付型別實現該介面並重寫介面方法實現支付型別的具體處理邏輯;構建支付型別工廠,根據對應支付型別獲取支付型別業務處理介面實現類.

2.1構建支付型別介面

public inte***ce paytypehandleservice
2.2 根據不同的支付型別實現支付型別處理介面

public class readypayserviceimp implements paytypehandleservice 

}

public class successpayserviceimp implements paytypehandleservice 

}

public class failpayserviceimp implements paytypehandleservice 

}

2.3構建支付型別工廠,根據不同的支付型別獲取不同的支付型別介面實現類

public enum  paytypehandleenum 

// 根據傳遞的型別獲取對應的實現類

public static paytypehandleservice getpaytypehandleservice(string paytype)

}return null;

}public static void main(string args)

}

2.4使用策略模式+工廠方法進行測試

public static void main(string args)

用工廠模式和策略模式代替繁瑣的if else

過多的if else 和巢狀,會使閱讀 的人很難理解到底是什麼意思。尤其是那些沒有注釋的 其次是可維護性,因為if else特別多,if else是有辦法可以消除掉的,其中比較典型的並且使用廣泛的就是借助策略模式和工廠模式,準確的說是利用這兩個設計模式的思想,徹底消滅 中的if else。傳統用if...

工廠模式 策略模式

目前遇到這樣乙個場景,就是會根據前端不同的傳值執行對應的方法策略。按照正常思路,需要在 中使用if判斷前端的值來執行不同的方法。但這樣做的缺點是會造成大量if判斷,且下次新增加乙個值對應乙個策略,那麼就需要改動 對於這種根據值來執行不同策略的場景,可以使用工廠模式 策略模式來解決。既然有策略,那麼我...

策略模式,模板模式,工廠模式

自己不關心類是怎麼來的.我想要汽車,直接去 4s 店提就好,不用自己拼零件 spring 的 ioc dagger 都是這種依賴注入框架.舉個具體應用的例子 你哪天心情好把類名改了。或者把構造函式引數改了 增加或減少引數 而你 中又有n處new了這個類。如果你又沒用工廠。那你慘了。乙個乙個找來改吧。...