比如说Color接口有三个实现类分别是:Red、Blue和Green现在我要在运行的时候才决定用某个实现类怎么管理比较优雅?别if..else..
学习是最好的投资!
工厂方法模式
程式設計中有顺序、分支、循环三种结构。if-else作為最常用的分支結構,是不可或缺的。
顺序
分支
循环
if-else
關於這個問題,對於只要學過程式設計的人,if-else都是最簡潔的程式設計方式。而最簡單的就是最優雅的。
而if-else有时候看起来比较糟糕的地方在于,if中嵌套很多层if-else有時候看起來比較糟糕的地方在於,if中嵌套很多層
if
if的的时候就提前返回结果,保证if所以好的解決方案是,在能夠提前退出
這裡有一個類似的問題可以看下:
简单的设计与设计模式設計模式可以為你帶來便利,但不要在自己的解決方案中強套設計模式,你需要為自己的程式碼在
简单的设计
设计模式
題主的描述感覺比較符合設計模式中的策略模式。
策略模式
為什麼不用多型了,丟給隱式的型別轉換。根據接口方法的實作來處理啊。
工厂方法模式
程式設計中有
顺序
、分支
、循环
三种结构。if-else
作為最常用的分支結構,是不可或缺的。關於這個問題,對於只要學過程式設計的人,
if-else
都是最簡潔的程式設計方式。而最簡單的就是最優雅的。而
,導致邏輯判斷深度過大。if-else
有时候看起来比较糟糕的地方在于,if
中嵌套很多层if-else
有時候看起來比較糟糕的地方在於,if
中嵌套很多層if
的的时候就提前返回结果,保证if
所以好的解決方案是,在能夠提前退出這裡有一個類似的問題可以看下:
简单的设计
与设计模式
設計模式可以為你帶來便利,但不要在自己的解決方案中強套設計模式,你需要為自己的程式碼在題主的描述感覺比較符合設計模式中的
策略模式
。為什麼不用多型了,丟給隱式的型別轉換。根據接口方法的實作來處理啊。