Например, контроллер на Node.js можно написать так:
export class UserController {
static async login(req, res) {
try {} catch(e) {}
}
}
А можно так:
const login = async (req, res) => {
try {} catch(e) {}
}
const controller = { login }
export default controller
Иначе говоря, в ООП-шном стиле и в функциональном (если я правильно понимаю).
Есть ли принципиальная разница между этими подходами? Сталкивался с кодом написанным и так, и так. И сам писал в одном проекте - так, в другом - иначе. Но то ли не сталкивался с какими-то специфическими для каждого подхода ситуациями, то ли еще что, но не могу для себя решить, какой подход правильнее использовать. Пока возникает ощущение, что всё это - сугубо вкусовщина. Так ли это? И какие еще есть подходы? Что можно почитать/посмотреть на эту тему?