gpt4 book ai didi

Delphi:将对象传输到远程计算机

转载 作者:行者123 更新时间:2023-12-03 14:56:07 25 4
gpt4 key购买 nike

你好。

我正在编写一个用于网络使用的 tier2 订购软件。所以我们有客户端和服务器。

在客户端上,我创建了TBest对象,其中保存了产品ID、金额和订购该产品的用户。 (所以这是订单的一个项目)。

一个订单可以有多个项目,这些项目保存在一个数组中,以便稍后将创建的订单发送到服务器。保存数组的类称为TBestellung

所以我创建了两者

TBest.toString: string;

TBest.fromString(source: string): TBest;

现在,我通过套接字将 toString 结果发送到服务器,并在服务器上使用 fromString 创建对象(它解析接收到的属性)。这按预期工作。

问题:有没有更好、更优雅的方法来做到这一点?序列化是一个关键字,是的,但是当您序列化一个包含其他对象数组(本例中为 TBestellung)的对象(本例中为 TBestellung)时,这不是很糟糕/困难吗?

//小修改:在被询问之前。是的,我应该为 toString 和 fromString 创建一个额外的(静态)类,否则服务器需要创建一个“空”TTest 才能使用 fromString。

最佳答案

Delphi 有免费的序列化库(也适用于 Free Pascal):

JSON 和 XML 是跨平台/跨语言的,这可能有助于将来与其他系统(例如基于 PHP 的网上商店)的接口(interface)。它们也是免费和开放的标准(没有供应商锁定)

更新:我不会使用基于构造函数的方法,虽然一开始可能看起来微不足道,但(反)序列化可能会成为一个复杂的过程,它将向需要序列化的类添加越来越多的非特定于类的代码。相反,我会使用“构建器”/“解析器”类(工厂模式)来保持职责清晰和依赖性较低。

关于Delphi:将对象传输到远程计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2405331/

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