консольном клиентском приложении сделать класс Logger.js синглтоном.
И появилась такая мысль:
В приложении есть также несколько классов App.js, EventsHandler.js (EventEmitter), ErrorHandler.js, ServerHandler.js (ну и Logger.js, о котором выше).
Все классы внутри App.js.
Экземпляры Logger.js, EventsHandler.js (EventEmitter) и ErrorHandler.js соответственно используются в разных классах.
Есть ли смысл вообще все классы приложения сейчас сделать синглтонами? Или это плохая практика, и надо делать только Logger.js, EventsHandler.js (EventEmitter) и ErrorHandler.js — потому что больше шансов впоследствии, что кто-то может попытаться создать ещё экземпляры (ну, вряд ли же кто-то App.js ещё раз попробует создать 🙂 )?
Из того, что увидел, синглтон хорошо подойдёт для логгера, как и для всего, где нужен единый стейт и однажды созданный экземпляр, используемый в разных частях приложения. Для остального, вроде, достаточно функций, зачем там классы?
Спасибо за ответ! Хз, остальные классы действительно небольшие, может так и предложу сделать
Обсуждают сегодня