我需要开发一个特定的sw模块,它以下列格式输出数据主对象和相关对象以及数量
即
Desktop Computer
---- CPU 1x
---- Mouse 1x
---- KB 1x
---- Monitor 1x
---- Speakers 2x
这意味着对于台式计算机对象,应该有1个CPU,1个鼠标,1个键盘,1个监视器,2个扬声器
Cubicles
---------- Desktop Comps 4x (shall mean each cubicle shall contain 4 pc's)
---------- Power Supply 1x (shall mean each cubicle shall have a main pow.
supply)
对于每个Cubicle对象,同样应该有4个桌面和1个电源对象
规则:对于每4个小隔间,应有一个HUB对象
The sample Output for 8 cubicles shall be
Total CPU's - 32
HUB - 2
Mouse - 32
KB - 32
Monitor - 32
Speakers - 64
Cubicles - 8
Desktop PC's - 32
Pow. Supply - 8
任何人都可以帮助我在OOP类/接口方面实现相同的目标吗?或指向在这种情况下使用的设计模式的指针。 非常感谢您的相同时间
答案 0 :(得分:1)
虽然我不是专家,但您可以做以下事项: -
你可以创建两个类的计算机和多维数据集,你的计算机类可以监视资源的数量,例如两个显示器连接到CPU或连接四个扬声器。
您可以通过添加或更新添加或更新计数来监控资源数量 。这将允许您监视计算机和隔间的各个资源。
您的计算机和多维数据集类实现了一个接口IDisplayCount,它将列出他们拥有的所有资源,这是策略模式。
您可以通过以下装饰和工厂模式的混合来监控小隔间列表。装饰器保持跟踪和工厂,以确保每个实例(更新或添加)都添加到列表中,通过创建实例或从同一位置更新来跟踪资源。
可以从您的cubiles类数量监控集线器数量。
希望这有帮助。
答案 1 :(得分:1)
为您拥有的每个 名词 创建一个类。每个类都可以包含它包含的元素列表(object-x has -a object-y)。对于每个类,创建一个toString()
方法,以正确格式化的方式输出它包含的元素。
答案 2 :(得分:0)
看来你已经完成了大部分的设计工作。 UML / Class设计与您已编写的内容非常接近。起点可能如下:alt text http://img6.imageshack.us/img6/9232/cubicle.png
从这里继续你已经开始的大纲,让课程设计跟随。您可能会考虑进一步抽象,例如DesktopComputer将实现的ICLC,这样您就可以替换台式机的LaptopComputer对象。无论您的域名表明您需要什么,请遵循此。