DTO (Data Transfer Objects) в Nest.js рекомендуется создавать внутри классов, так как классы позволяют объединить данные и логику в одном месте. Это делает код более удобным для поддержки, улучшает читаемость и облегчает масштабирование приложения.
Разработчики предпочитают использовать классы в TypeScript вместо интерфейсов, так как классы позволяют добавлять методы и свойства, что делает их более мощными и гибкими. Кроме того, классы поддерживают наследование, что позволяет использовать наследование для повторного использования кода и уменьшения дублирования.