我目前正在使用书籍和网站自学OOP。我处于需要练习的地步。我开始了一个小型项目,我知道如何以程序化的方式进行。但是当我尝试以面向对象的方式进行操作时,它给我留下了问题。需要帮助定义类职责
我的项目概念是这样的。我想在工作中组织/归档/管理我们系统上的互连。我使用2班。设备和接口。
设备有一些接口。
设备类有以下methodes:
- 无效addInterface(字符串名称)
- 无效removeInterface(接口I)
- 接口getInterface(接口I)#我应该写道:接口getInterface(字符串接口名)
- 空隙printAllInterface()
接口类具有以下methodes:
- 空隙connectInterface(接口interfaceToConnectTo)
- 空隙disconnectInterface(接口interfaceToDisconnectFrom)
- 空隙printAllConnection()
基本上,我创建两个设备,添加一些接口到每个最终使一些连接在接口之间。
设备知道它的所有接口。一个接口知道它连接到的所有其他接口。
但是,给定一个接口,我怎么知道它属于哪个设备?
如果接口知道设备,它们变得紧密耦合。对于我目前所了解的情况,这不是很好的面向对象。另一种方法是浏览所有设备以了解他们是否具有我正在寻找的界面。看起来效率很低。我相信我错过了一些明显的东西。任何人都可以看到它吗?
由于
更新: 这可以被看作是在MS Visio文件的形状和连接。界面实际上只是一个形状上的连接器。该设备是形状。
确实接口必须属于一个设备。这个循环引用让我觉得在我的设计中出现了错误 – Jason