Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

215
Visualizações
Uso de singleton de nodo

El autor de este artículo usa singletons para la capa de servicio en este ejemplo de API de nodo:

https://html5hive.org/how-to-create-rest-api-with-node-js-and-express/

Afirma: "Solo queremos que haya una instancia de nuestro servicio de jugador, por lo que en lugar de exportar la clase en sí, exportaremos una nueva instancia de la misma. Los archivos de módulo en el nodo solo se ejecutan una vez, por lo que esto proporciona efectivamente nosotros un singleton".

 'use strict'; var uuid = require('node-uuid'); class PlayersService { constructor() { this.players = []; } getPlayers() { return this.players; } getSinglePlayer(playerId) { var player = this.players.filter(p => p.id === playerId)[0]; return player || null; } addPlayer(info) { // prevent a bit of bad/duplicate data if (!info || this.players.filter(p => (p.firstName === info.firstName && p.lastName === info.lastName)).length > 0) { return false; } info.id = uuid.v4(); this.players.push(info); return true; } updatePlayer(playerId, info) { var player = this.getSinglePlayer(playerId); if (player) { player.firstName = info.firstName ? info.firstName : player.firstName; player.lastName = info.lastName ? info.lastName : player.lastName; player.displayName = info.displayName ? info.displayName : player.displayName; return true; } return false; } } module.exports = new PlayersService();

Lo cual parece razonable ya que la función de estos servicios es proporcionar la misma implementación para los controladores que los usan.

Sin embargo, en esta publicación:

Sobre patrones de diseño: ¿cuándo usar el Singleton?

el cartel solicita un caso de uso legítimo para singletons que no sea una clase Logger. Varias personas respondieron a su pregunta diciendo que nunca se deben usar singletons.

Pero, ¿no es el uso de singletons para servicios como el que he copiado aquí un caso de uso legítimo y una mejor práctica para no crear múltiples instancias que proporcionen la misma implementación? Gracias.

over 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda