这是一个面试问题,向我询问(不一个家庭作业问题)。我确实给出了答案,但我想就我给出的答案是否相关提出一些专业意见。正确的问题是:
为UNIX ||构建面向对象的设计Windows目录结构?
提前致谢!!
答案 0 :(得分:2)
由于我们正在谈论OO,我认为他希望你专注于操作和结构。
文件和目录将实现涉及常见操作的公共接口,但也有自己的操作。
涉及树结构,目录和文件可以是树的一部分,或者(正如我可能做的那样)树可以是引用文件和目录的外部结构。
我列出了界面中的常见操作(delete,getSize),文件接口/对象中的纯文件操作(打开,读取,写入...)和仅限目录的操作(目录对象中的changeDirectory,createChildDirectory,createFile)。
然而,重要的是,这是一个足够开放的问题,以确保没有正确的答案,而是有机会评估你如何思考OO"。有数百万个好的解决方案,坏的解决方案是那些没有将方法和成员识别为对象模型的一部分。这也是展示您的设计技能水平的好机会 - 看看您是否可以智能地将您的模型传达给他人(UML在这方面非常有帮助 - 没有UML的工作可能就像没有使用UML一样工作在重型建模方面的共同语言)
答案 1 :(得分:0)
OO设计看起来与双链接树基本相同,可以在两种不同类型的节点之间进行交叉链接,即硬链接和软链接。
当您开始处理权限和元数据时,还会增加一些复杂性,但这些内容与目录结构没有特别的关联。