待優化業務邏輯**
/**
* @author sunyang
* @date 2019/1/30 10:32
*/public
class
bizuser
else
if(shownumredis >=
100&& shownumredis <=
999)
else
if(shownumredis >=
1000
&& shownumredis <=
9999
)else
if(shownumredis >
9999
)else
return result;
}}
分析
從**看的出來,不同條件下,執行的邏輯是不同的,可以把這種執行邏輯抽象出來,用多型的概念來定義不同的執行方式。
/**
* 工廠模式
* 從**看的出來,不同的條件下,執行的邏輯是不同的,那麼可以把這種執行邏輯抽象出來
* 用多型的概念來定義不同的執行方式
* * @author sunyang
* @date 2019/1/30 10:51
*/public
abstract
class
abstractbizuser2
/**
* @author sunyang
* @date 2019/1/30 10:57
*/public
class
showoneexecutor
extends
abstractbizuser2
}
/**
* @author sunyang
* @date 2019/1/30 11:07
*/public
class
showtwoexecutor
extends
abstractbizuser2
}
/**
* @author sunyang
* @date 2019/1/30 11:09
*/public
class
showthreeexecutor
extends
abstractbizuser2
}
/**
* @author sunyang
* @date 2019/1/30 11:09
*/public
class
showfourexecutor
extends
abstractbizuser2
}
/**
* @author sunyang
* @date 2019/1/30 11:10
*/public
class
showotherexecutor
extends
abstractbizuser2
}
/**
* 定義乙個工廠來把需要處理邏輯給包起來
* * @author sunyang
* @date 2019/1/30 11:21
*/public
class
executo***ctory
else
if(shownumredis >=
100&& shownumredis <=
999)
else
if(shownumredis >=
1000
&& shownumredis <=
9999
)else
if(shownumredis >
9999
)else
}}
結論/**
題外話
實戰中的**是簡單可公開的邏輯**
舉一反三,去改造看不下去的**
簡單工廠模式重構Switch語句
最近看公司的 經常看到很多的switch語句,想到如果要加case改動比較大,也比較長,違反了開閉原則,所以想著用簡單工廠重構下,方便以後的擴充套件。private void dealmessage int type 1case push response 司機上傳位置報文 2 case uploa...
實戰中使用設計模式 簡單工廠模式
1.簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法模式。它的實現方式是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類 這些產品類繼承自乙個父類或介面 的例項。2.簡單工廠模式由三種角色組成 3.場景 4.實現 我們將建立乙個 paymentmethod 介面和實現 paymentmeth...
抽象工廠實戰
在這個例子中主要的是建立兩個系列的產品,乙個是運算元據庫的dao系列,乙個是操作業務邏輯的manager系列。所以在此利用抽象工廠進行實現。如下 物料業務邏輯層介面 public inte ce itemmanager 物料資料訪問介面 public inte ce itemdao 抽象工廠,主要建...