Следует использовать класс или модуль в NodeJS

Я новичок в NodeJS. Я исследую наследование на NodeJS и обнаружил, что существует наследование с использованием класса (на ES6). У меня есть несколько вопросов об использовании класса и модуля, чтобы решить, какой из них следует использовать в моем случае:

  1. Насколько я знаю, «Module» кэшируется после того, как я запустил один раз, это означает, что мне не нужно инициализировать каждый раз, а для «Класса» мне нужно инициализировать каждый раз, когда я его использую. Так происходит утечка памяти или это плохо для производительности?
  2. В моем случае я хотел бы реализовать наследование для некоторых общих функций, после чего я смогу повторно использовать их в своем потомке. В случае использования «Class»: если со стороны клиента одновременно отправлено несколько запросов, влияет ли это на производительность сервера, например, ответ более медленного или что-то еще?
  3. При использовании «CLASS» могу ли я активировать ОДИН РАЗ для глобальной функции (любые другие классы наследования не будут запускать эту функцию).
  4. Будет ли он выпущен после создания экземпляра класса и обработки функциональности?

Заранее спасибо.

Я рекомендую изучить основы JavaScript и отдельно Node.js.

T.J. Crowder 23.06.2018 19:35
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
6
1
5 804
1

Ответы 1

Should use Class or Module in NodeJS

Это ошибочный выбор. Вы можете использовать и то, и другое. Вы, безусловно, захотите использовать модули (на самом деле, было бы очень сложно не использовать). Вы можете или не можете захотеть использовать class (подробнее в ответах этот вопрос), а если вы этого не сделаете, вы можете или не захотите использовать псевдоклассическое наследование; или вы можете предпочесть напрямую использовать прототипное наследование. Это выбор стиля.

1. As I know, "Module" is cached after i run once...

Да, модули кешируются. Вы используете встроенный код модуля для его инициализации. Затем модуль экспортирует функции и / или функции-конструкторы (свободно, «классы») и т. д., Которые могут использовать другие модули.

2. ... If there are multiple request sent from Client side at the same time, does it affect to the Server's performance such as the slower's response or anything?

Создание объектов, в том числе создание объектов с помощью функций-конструкторов, выполняется быстро очень. Беспокойство о функциональности и ремонтопригодности. Беспокойство о производительности, если и когда возникнет проблема.

3. If using "CLASS", can I trigger ONCE for a global function( Any other inheritance classes will not trigger that function.)

Вы можете создать один экземпляр класса и экспортировать его из модуля для повторного использования без повторного создания, да.

4. After create an instance of Class and processing the functionality, will it be released?

Если ничто не хранит ссылку на объект, объект имеет право на сборку мусора, да. Естественно, если что-то хранит ссылку на объект (например, если вы экспортируете его из модуля), оно не подлежит сборке мусора.

Другие вопросы по теме