Classes vs módulos em nodejs

A minha pergunta é se é melhor as classes de uso em nodejs ou a função ou protótipos e módulos, eu sei que a maioria usa os módulos e protótipos de função, mas qual é melhor?

E consideramos que as aulas sempre foram, em todas as linguagens de programação, a melhor opção para trabalhar.

obrigado antecipadamente

 0
Author: marc_s, 2017-09-29

2 answers

Minha pergunta é se é melhor as classes de uso em nodejs ou a função ou protótipos e módulos, eu sei que a maioria usa os módulos e protótipos de função, mas qual é melhor?

A sua pergunta parece um pouco equivocada. No nó.js, não se escolhe entre classes, protótipos e módulos.

As primeiras aulas em Javascript usam o protótipo. A sintaxe class é apenas açúcar sintático para definir um construtor e métodos no protótipo. Quando você usa a sintaxe {[[0]}, você está criando um construtor com um protótipo e fazendo com que os métodos sejam adicionados ao protótipo (sob as capas). Então, não há troca entre usar classes e usar o protótipo.

O único tradeoff que existe é entre usar a nova sintaxe {[[0]} para definir o seu protótipo vs. fazê-lo da forma mais antiga e manual.

Então, as classes são praticamente ortogonais para módulos. Você usa módulos quando deseja encapsular um corpo de código num módulo interface para que você possa colher todos os benefícios do uso de módulos (compartilhamento mais fácil, reutilização, documentação, testes, etc...). Essa interface de módulo pode ser o que você achar mais apropriado para a sua circunstância. Você pode exportar uma série de funções simples. Você pode exportar um ou mais construtores de objetos. Você pode exportar funções de fábrica que criam objetos para você que você pode então usar métodos. O esquema de módulos é massivamente flexível para que você possa exportar praticamente qualquer tipo de interface que você deseja (e as aulas podem ser uma parte disso se você escolher).

Não existe uma forma "melhor" de exportar coisas a partir de módulos porque depende das suas necessidades, do seu estilo arquitectónico e de codificação escolhido, etc...

 0
Author: jfriend00, 2017-09-29 17:39:32
Eu mostro-te o que vi. Esta é uma maneira de trabalhar nodejs

Controlador de índices = () => {}

Controlador de índices.índice = (req, res, next){ .... }

Mas esta é outra maneira de trabalhar em nodejs

Class IndexController () { Função () .... }

}

Há alguma diferença nos privilégios? Porquê trabalhar de formas tão diferentes?
 -1
Author: JKSOI123a, 2017-09-29 18:02:58