В большинстве примеров авторы использовали классы со статическими методами и передавали эти классы со статическими методами в маршрутизатор.
router.post('/user/name', (req, res, next) => {
UserController.getName(req, res, next);
});
router.post('/user/surname', (req, res, next) => {
UserController.getSurname(req, res, next);
});
Я не фанат классов со статическими методами. И предпочитаю создавать экземпляр.
router.post('/user/name', (req, res, next) => {
new UserController(req, res, next).getName();
});
router.post('/user/surname', (req, res, next) => {
new UserController(req, res, next).getSurname();
});
Предположим, у нас 1000 вызовов на /user/surname
. Итак, насколько я понимаю, будет создано 1000 объектов UserController
(а затем они будут уничтожены GC как непригодные для использования). Это правильно? Если да, может быть, будет лучше использовать статические методы, потому что они были созданы только один раз при загрузке класса?