文章詳情頁
java - 如何方便某個類在以后的拓展中比較方便的添加屬性?
瀏覽:144日期: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. mysql - java ResultSetMetaData 獲取中文別名亂碼2. mysql 的datadir設(shè)置的文件夾不存在,啟動了mysql服務(wù)后創(chuàng)建的數(shù)據(jù)庫存在哪里?3. 數(shù)據(jù)庫 - MySQL 單表500W+數(shù)據(jù),查詢超時,如何優(yōu)化呢?4. python - from ..xxxx import xxxx到底是什么意思呢?5. 這是什么情況???6. php自學(xué)從哪里開始?7. mysql多表查詢8. phpstudy v8打開數(shù)據(jù)庫就出錯,而phpstudy 2018不會9. python 多進程 或者 多線程下如何高效的同步數(shù)據(jù)?10. phpstady在win10上運行
排行榜

熱門標簽