當我爲自己的項目構建自己的系統時,我正在學習很多關於設計模式的知識。我想問你一個我無法找到答案的設計問題。兩個互相依賴的對象。那不好嗎?
目前我正在使用帶有多個客戶端的套接字構建一個小型的聊天服務器。現在,我有三大類:
- 人級持有像尼克,年齡和房間對象的信息。
- 房間級別其中包含房間名稱,主題和當前在該房間中的人員列表等信息。
- Hotel-class其中包含服務器上的人員列表和客房列表。
我在酒店級服務器上的人員名單,因爲這將是很好的跟蹤有多少人在線現在(不必遍歷所有房間)。 因爲我希望能夠在不搜索房間的情況下搜索特定人員,所以住在酒店級別的人。
這是不好的設計?有沒有另外一種方法來實現它?
謝謝。
我看到「相互依存」是我正在尋找的詞。爲了記錄我正在用Java寫這個。界面方法看起來很有趣,但並沒有使解決方案變得更加不同,但我明白你的觀點。感謝您的評論。 – 2010-04-11 03:10:29
@Kasper,關鍵是,依賴於_interfaces_(包括相互之間)沒有真正的問題 - 它主要依賴於您想要避免的_concrete_軟件(例如,在「循環」的情況下)。自由開始一個快速而骯髒的實現並在稍後轉向更加健全的實現,這也加快了軟件原型設計和迭代的演變和維護。 – 2010-04-11 03:27:40