gpt4 book ai didi

javascript - 在内存和性能方面使用类与接口(interface)的成本

转载 作者:行者123 更新时间:2023-12-04 17:35:49 25 4
gpt4 key购买 nike

在为我的 Angular 应用程序编写 typescript 时,我可以使用接口(interface)或类创建我的域对象。我正在寻找有关使用类方法的实际成本的硬数据。

我知道使用接口(interface)不会生成任何 javascript 代码,但使用类会。这两种方法都有自动完成和语法检查的好处。

我看到了使用类的更多好处 - 轻松进行单元测试 - 业务逻辑可以添加到领域对象(这听起来不错,使用领域驱动设计时) - 我们可以强制域对象不可变

所以从逻辑上讲,接口(interface)更便宜,但我想弄清楚使用类的成本是否真的超过了 yield 。

为此,我想知道其他人在实际应用中比较这两种方法的经验。或者,如果人们知道已经在该领域进行的性能测试。

到目前为止,我发现这个问题 (classes vs interfaces in Angular(TypeScript)) 建议为我的数据模型使用一个接口(interface),但它没有提供任何硬数据来决定哪种方法最适合我。

最佳答案

对于 super 简单的数据对象,使用接口(interface)(或类型)。示例:参数对象、值类型和任何其他不需要任何内置逻辑的对象。

对于任何更复杂的事情,请使用类。与您获得的好处相比,这种选择的开销是最小的,例如将一些简单的逻辑放在类中的能力,这样您就不必不需要将其卸载到服务中。类定义需要一点内存,但在运行时,类只是对象的特定原型(prototype)。

我承认这个答案不包括任何实际性能或统计数据,但这些在很大程度上取决于对象的类型和上下文。

另见 this great comment on Github .

关于javascript - 在内存和性能方面使用类与接口(interface)的成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56647112/

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