我目前正在使用書籍和網站自學OOP。我處於需要練習的地步。我開始了一個小型項目,我知道如何以程序化的方式進行。但是當我嘗試以面向對象的方式進行操作時,它給我留下了問題。需要幫助定義類職責
我的項目概念是這樣的。我想在工作中組織/歸檔/管理我們系統上的互連。我使用2班。設備和接口。
設備有一些接口。
設備類有以下methodes:
- 無效addInterface(字符串名稱)
- 無效removeInterface(接口I)
- 接口getInterface(接口I)#我應該寫道:接口getInterface(字符串接口名)
- 空隙printAllInterface()
接口類具有以下methodes:
- 空隙connectInterface(接口interfaceToConnectTo)
- 空隙disconnectInterface(接口interfaceToDisconnectFrom)
- 空隙printAllConnection()
基本上,我創建兩個設備,添加一些接口到每個最終使一些連接在接口之間。
設備知道它的所有接口。一個接口知道它連接到的所有其他接口。
但是,給定一個接口,我怎麼知道它屬於哪個設備?
如果接口知道設備,它們變得緊密耦合。對於我目前所瞭解的情況,這不是很好的面向對象。另一種方法是瀏覽所有設備以瞭解他們是否具有我正在尋找的界面。看起來效率很低。我相信我錯過了一些明顯的東西。任何人都可以看到它嗎?
由於
更新: 這可以被看作是在MS Visio文件的形狀和連接。界面實際上只是一個形狀上的連接器。該設備是形狀。
確實接口必須屬於一個設備。這個循環引用讓我覺得在我的設計中出現了錯誤 – Jason