我有关于在何处创建,拥有和销毁数据的问题。 数据本身是大型数字表,可以是随机生成的,也可以是从硬盘驱动器中读取的。然后对这些数据进行分析,并根据分析的确切内容,制作了一些包装类似的结构,它封装了所需的功能。由于包装器可以在后续阶段切换,因此我决定不在包装器构造函数中创建/读取数据,而只是在“main”函数中处理它们。然后包装器只能看到数据的指针。 首先,这是常见/一个好主意,还是包装器总是拥有自己的数据副本? 好吧,接下来我做了一个“菜单”类来更好地浏览数据创建/分析选择等,最简单的方法是将数据作为菜单类的一部分。虽然这感觉不太好,所以我应该把它放在哪里?它应该留在主要班级吗?
我希望这是可以理解的。如果没有,我可以尝试更好地概述正在发生的事情。 谢谢你的阅读。
答案 0 :(得分:1)
您可以创建一个data
类,并围绕它包装其他类。数据类的对象可能应该是全局的或在main
内定义。比那更好 - 你的想法似乎很好。如果定义了data
类,您还可以将指针/引用传递给菜单,这样您就不会遇到问题。请注意,如果您愿意,菜单可以也作为包装。
答案 1 :(得分:1)
将数据的详细信息保存在特定的包装类中通常是个更好的主意(我认为你的意思是派生类?)。您的包装类应该从接口或抽象类型派生。您可以在main()中构造包装器类工厂,并将工厂传递给构造函数(在main()中实例化的类的构造函数)。稍后,当需要打开或创建特定于数据的包装器时,请调用工厂方法。工厂可以拥有指针,我的意思是他们调用new()和delete()。尝试查看SOLID原则并了解它们如何指导您。