文章詳情頁
java - 如何方便某個類在以后的拓展中比較方便的添加屬性?
瀏覽:141日期:2023-11-16 15:20:16
問題描述
假設(shè)有地圖上有一個醫(yī)院和公路兩個標識,而這兩個標識擁有屬于自己的屬性數(shù)據(jù):例如 醫(yī)院有等級、建筑物數(shù)量、病人數(shù)量,占地面積、名字等屬性;公路有名字、等級、長度、建成時間等屬性。 即不同類型的地圖標識有不同的屬性數(shù)據(jù),同時也需要考慮將來還會添加新的屬性。請問大家,能否說一個大概的設(shè)計思路(只是靜態(tài)類圖的設(shè)計思路)? PS:我自己想的是通過裝飾者模式來實現(xiàn),但是那樣的話在以后的擴展中每當添加一個屬性時就要對原來的類再進行一次裝飾,或者直接侵入原先設(shè)計好的類,添加屬性。
問題解答
回答1:haha ,為何不用Dictionary類型,比如說使用map來存儲鍵值對?
回答2:應(yīng)該要符合開閉原則,一個實體類創(chuàng)建好后最好不要做修改,使用繼承就可以了,在原來的屬性上增加新的屬性,但是又不破壞原來的結(jié)構(gòu)
回答3:對象組合優(yōu)先于繼承
標簽:
java
上一條:java常用設(shè)計模式下一條:java - 打印電子面單
相關(guān)文章:
1. python小白 關(guān)于類里面的方法獲取變量失敗的問題2. thinkPHP5中獲取數(shù)據(jù)庫數(shù)據(jù)后默認選中下拉框的值,傳遞到后臺消失不見。有圖有代碼,希望有人幫忙3. linux運維 - python遠程控制windows如何實現(xiàn)4. Python2中code.co_kwonlyargcount的等效寫法5. javascript - 如何用最快的速度C#或Python開發(fā)一個桌面應(yīng)用程序來訪問我的網(wǎng)站?6. django - Python error: [Errno 99] Cannot assign requested address7. mysql數(shù)據(jù)庫做關(guān)聯(lián)一般用id還是用戶名8. [python2]local variable referenced before assignment問題9. 求救一下,用新版的phpstudy,數(shù)據(jù)庫過段時間會消失是什么情況?10. python小白,關(guān)于函數(shù)問題
排行榜

熱門標簽