Этот пример сфокусирован не на действиях, а на состоянии (собственно, в 99% случаев около-DDD-шные темы почему-то крутятся вокруг такой фигни). Имя порта, возможно, в бизнес-логике вообще никакой роли не играет, но по какой-то причине этому уделяется достаточно большое внимание.
Имя должно ... соответствовать некому regexp, который пользователь задаёт отдельно в настройках.
На это можно посмотреть с такой стороны: возможно, это правило не относится к «чистой» сущности порта. Это лишь некая надстройка, которая нужна для решения каких-то визуальных/эстетических проблем. То есть, это может быть bounded context'ом «над» контекстом с устройствами/портами. В таком случае, валидация имени вообще может быть отдельным классом в отдельной папке, который будет проверяться до вызова команды, дублирования не будет вообще.
Сыграет ли какую-то роль цвет и материал компаса в вопросе выигрыша в соревновании, где требуется ориентация на местности? Я сомневаюсь. В контексте соревнования, это бессмысленная и нерелевантная информация. В данном случае от модели требуется чёткое выполнение вполне конкретной задачи и отсутствие информации о цвете никак не делает компас «анемичным». «Анемичный» — это когда явные бизнес-глаголы не отражены в модели, а происходит фокусировка на свойствах.
В контексте продаж компасов же, вероятно, это вполне может играть какую-то роль. Здесь же мы можем определить наиболее популярные цвета и материалы, и после очередной продажи, вероятно, выбросить событие, которое будет сигнализировать о недостаточном количестве популярных моделей, по которому мы сделаем запрос на пополнение со склада.
Какую конечную роль играют эти устройства/порты, в чём состоит набор действий?
Отдельного внимания заслуживает вопрос почему «устройство» у себя внутри не может проверить уникальность имени порта? Сам по себе порт за свою уникальность отвечать не может и на этом фоне некий unit->isUniquePortName() выглядит странно. Также вызывает вопрос почему добавление порта в устройство внутри самого порта. Как компас может отвечать за ассортимент в магазине в целом?