gpt4 book ai didi

从数据库模式设计 C++ 类

转载 作者:可可西里 更新时间:2023-11-01 08:23:16 27 4
gpt4 key购买 nike

我正在编写一个 perl 脚本来解析 mysql 数据库模式并在必要时创建 C++ 类。我的问题很简单,但我以前没有真正做过,也不知道常见的做法。创建的任何类的任何对象都需要具有“获取”方法来填充此信息。所以我的问题是双重的:

  1. 调用构造函数中的所有 get 方法以使对象立即拥有数据是否有意义?有些类(class)会有很多,所以根据需要也可能有意义。我现在有两个构造函数。一种填充数据,一种不填充数据。
  2. 我是否还应该有另一个“get”方法来检索对象的数据拷贝而不是数据库拷贝。

我可以在 #1 上双向选择,在 #2 上我倾向于是。任何建议,指针将不胜感激。

最佳答案

通常,应用程序中成本最高的部分是往返数据库,因此从单个查询中填充所有数据成员比一次一个地填充数据成员效率要高得多,无论是根据需要基础或来自您的构造函数。支付往返费用后,您就可以物有所值了。

另外,一般来说,你的 get* 方法应该被声明为 const,这意味着它们不会改变底层对象,所以让它们进入数据库来填充对象会破坏它(你可以通过使成员变量是可变的,但这基本上会破坏 const 的目的。

为了将事情分解成具体步骤,我建议:

  • 让您的构造函数调用单独的 init() 方法来查询数据库并填充对象的数据成员。
  • 将您的 get* 方法声明为 const,并让它们返回数据成员。

关于从数据库模式设计 C++ 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/83512/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com