文章詳情頁
Java編程里一般怎么管理接口的實現類?
瀏覽:112日期:2024-01-11 13:22:22
問題描述
比如說Color接口有三個實現類分別是:Red、Blue和Green現在我要在運行的時候才決定用某個實現類怎么管理比較優雅?別if..else..
問題解答
回答1:工廠方法模式
回答2:編程中有順序、分支、循環三種結構。if-else作為最常用的分支結構,是不可或缺的。
關于這個問題,對于只要學習過編程的人,if-else都是最簡明的編程方式。而最簡單的就是最優雅的。
而if-else有時候看起來比較糟糕的地方在于,if中嵌套很多層if-else,導致邏輯判斷深度過大。
所以好的解決方案是,在能夠提前退出if的的時候就提前返回結果,保證if的深度最大為兩層。
這里有一個類似的問題可以看下:有很多if-else,該如何優化?
設計模式可以為你帶來便利,但是不要在自己的解決方案中強套設計模式,你需要為自己的代碼在簡單的設計與設計模式之間做出折衷。
回答3:題主的描述感覺比較符合設計模式中的策略模式。
回答4:為什么不用多態了,丟給隱式的類型轉換。根據接口方法的實現來處理啊。
標簽:
java
相關文章:
1. javascript - 在 vue里面用import引入js文件,結果為undefined2. html - 爬蟲時出現“DNS lookup failed”,打開網頁卻沒問題,這是什么情況?3. 求教一個mysql建表分組索引問題4. 小程序怎么加外鏈,語句怎么寫!求救新手,開文檔沒發現5. html5 - input type=’file’ 上傳獲取的fileList對象怎么存儲于瀏覽器?6. 求救一下,用新版的phpstudy,數據庫過段時間會消失是什么情況?7. python沒入門,請教一個問題8. php如何獲取訪問者路由器的mac地址9. node.js - 用nodejs 的node-xlsx模塊去讀取excel中的數據,可是讀取出來的日期是數字,請問該如何讀取日期呢?10. javascript - 我的站點貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?
排行榜
