gpt4 book ai didi

node.js - 我应该为 Nodejs 模型和 Controller 使用类吗

转载 作者:搜寻专家 更新时间:2023-10-31 23:57:39 24 4
gpt4 key购买 nike

在 Nodejs 中为 Controller 和模型使用类是个好主意吗?

如果是这样,最好为所有请求使用一个 Class 实例,或者像 Laravel 那样为每个请求使用一个实例?当然 Node 不一样。我认为一个会更好,但我不确定。

关于如果使用类,性能优先。

最佳答案

引用 this stackoverflow issue

However, it's important to understand that OOP is very effective for things that can be modeled naturally with it, and is very ineffective for other things (e.g., crosscutting concerns or aspects).

模型自然地建模为类,但 Controller 不是。

Controller

如果您使用 express ,使用函数式编程对路由进行编码是有意义的,这就是中间件链编码惯用语。

您也可以查看Sails.js ,(Sails.js 是一个 MVC 快速框架)Controllers实现不是类,而是 Models是。

实例化

如果您有一个 Class 实例用于多个请求,您将有可能在多个请求之间共享对实例范围 (this) 的访问。

每个请求使用一个 Class 实例并且不在请求之间共享内存/范围更干净。

当你扩展你的服务器(添加多个实例)时,所有请求将被并行处理,所以你不应该在同一个 nodejs 线程上的不同请求之间共享任何数据。

如果您需要在请求之间共享任何内存,则意味着您需要将此内存放入单独服务器上的单独数据库中。

About if using classes, performance is priority.

在我看来,这个选择更多的是关于可读性。不会有太大的性能差异,您应该注意 premature optimization .

如果您的代码是可读的,那么返工和研究性能瓶颈就很容易。

关于node.js - 我应该为 Nodejs 模型和 Controller 使用类吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49470060/

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