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



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


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?
Если ничто не хранит ссылку на объект, объект имеет право на сборку мусора, да. Естественно, если что-то хранит ссылку на объект (например, если вы экспортируете его из модуля), оно не подлежит сборке мусора.
Я рекомендую изучить основы JavaScript и отдельно Node.js.