Да, это абсолютно законно, и я постоянно использую их в проектах. Их цель заключается в проверке ввода, и основное отличие между объектом домена и объектом команды состоит в том, что объект команды не сохраняется.
Большинство сайтов, вероятно, не используют другие объекты, чтобы сделать пример немного проще для понимания.