所以我正在爲Java中的數據結構創建可視化。我已經實現了數據結構(二進制搜索樹),但我需要爲包含的節點類添加一些附加功能。就慣例和最佳實踐而言,我應該使用這種附加功能創建節點的子類,還是應該修改我擁有的並在那裏記錄它?更好地擴展一個類或直接修改它?
我的問題類似於要求here,但這有點過頭了。
我知道這對我正在做的事情可能沒有多大關係,所以我更多地將它作爲一般事情來提出。
編輯:我應該更清楚。我的修改實際上並沒有改變原來的實現,而是添加了一些額外的字段(x和y座標加布爾值來設置該節點是否高亮)以及訪問/修改這些字段的函數。此外,我正在使用的節點類別包含在BST實施中
從閱讀您的答案,似乎有兩種情況下都有參數。我同意創建一個單獨的類或接口可能是一般最好的做法。創建另一個類似乎會變得棘手,因爲您仍然需要一種方法將數據從節點中提取出來。我使用的BST實現是通用的,並且在Node類或BST類中本身沒有任何此類功能來返回數據,所以至少我必須添加它。
感謝您的回覆。
http://en.wikipedia.org/wiki/Open/closed_principle – 2010-04-28 17:03:58