文章詳情頁
java - 如何方便某個類在以后的拓展中比較方便的添加屬性?
瀏覽:153日期:2023-11-16 15:20:16
問題描述
假設(shè)有地圖上有一個醫(yī)院和公路兩個標(biāo)識,而這兩個標(biāo)識擁有屬于自己的屬性數(shù)據(jù):例如 醫(yī)院有等級、建筑物數(shù)量、病人數(shù)量,占地面積、名字等屬性;公路有名字、等級、長度、建成時間等屬性。 即不同類型的地圖標(biāo)識有不同的屬性數(shù)據(jù),同時也需要考慮將來還會添加新的屬性。請問大家,能否說一個大概的設(shè)計思路(只是靜態(tài)類圖的設(shè)計思路)? PS:我自己想的是通過裝飾者模式來實現(xiàn),但是那樣的話在以后的擴(kuò)展中每當(dāng)添加一個屬性時就要對原來的類再進(jìn)行一次裝飾,或者直接侵入原先設(shè)計好的類,添加屬性。
問題解答
回答1:haha ,為何不用Dictionary類型,比如說使用map來存儲鍵值對?
回答2:應(yīng)該要符合開閉原則,一個實體類創(chuàng)建好后最好不要做修改,使用繼承就可以了,在原來的屬性上增加新的屬性,但是又不破壞原來的結(jié)構(gòu)
回答3:對象組合優(yōu)先于繼承
標(biāo)簽:
java
上一條:java常用設(shè)計模式下一條:java - 打印電子面單
相關(guān)文章:
1. python - scrapy url去重2. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)3. node.js - 微信小程序websocket連接問題4. python執(zhí)行cmd命令,怎么讓他執(zhí)行類似Ctrl+C效果將其結(jié)束命令?5. 實現(xiàn)bing搜索工具urlAPI提交6. Python中使用超長的List導(dǎo)致內(nèi)存占用過大7. python - Django有哪些成功項目?8. ios - 類似微博首頁,一張圖的時候是如何確定圖大小的?9. 數(shù)據(jù)庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。10. 鏈接圖片時,鏈接不成功
排行榜

熱門標(biāo)簽