【发布时间】:2017-04-03 21:29:46
【问题描述】:
您将如何设置以下类结构,为什么?
类 Person 代表一个人 教室代表一个房间
我想在哪里存储人的房间位置,并能够有效地提出以下两个问题:
1) X 在哪个房间?和, 2) Y 房间里有哪些人?
我能看到的选项是:
- Class Person 存储 Room 位置(问题 2 效率低下),
- Class Room 存储其 Persons(问题 1 效率低下),
- 以上两者(数据完整性问题的机会)以及,
- 外部字典保存数据(似乎违背 OOP 的精神)
【问题讨论】:
-
“最佳”方式?那是什么意思?不要迂腐,但工程师在使用“最佳”这个词之前应该总是三思而后行。如果没有价值体系,这个词是没有意义的,如果留下隐含的价值体系,答案就会模棱两可。相反,您可以问:“以下哪种设计在存储空间方面最有效?”或者“以下哪种设计会产生最易读的代码?”或者简单地说,“你会怎么做,为什么?”
-
@JohnWu 你是对的。在这种情况下,我一直在寻找一些主观的答案,所以我会选择“你会怎么做,为什么?”。感谢回复!