Я ищу совет по дизайну для сценария модели домена, который у меня есть.Модель домена для удаленных устройств
Предположим, у меня есть отряд роботов, каждый из которых управляется через беспроводное сетевое соединение.
У меня есть объект домена IRobot, который представляет реальный робот. Интерфейс выглядит так:
public interface IRobot
{
void MoveHeadUp(int toAngle);
void MoveHeadDown(int toAngle);
int GetHeadAngle();
}
Пример сценария: виртуальный робот показан в графическом интерфейсе. В автономном режиме графический интерфейс показывает, что произойдет, если мы скажем объекту домена (IRobot) поднять голову на 5 градусов.
В онлайн-режиме графический интерфейс отобразит движение робота И команда будет отправлена на физический робот, и он также будет перемещаться.
Я пытаюсь добавить удаленные возможности вокруг этого объекта домена, т.е. получение/настройка удаленного состояния через Ethernet или последовательный порт и т. д. Я не хочу загрязнять объект домена проблемами сети.
Каков наилучший подход к реализации поведения домена IRobot и удалению отдельных сведений о реализации удаленного соединения?
Я не уверен, что DDD лучше всего подходит для этого. Он лучше всего используется для совместных доменов, где бизнес-процессы инициируются людьми. Вы получите большую ригидность от DDD и некоторые из его преимуществ IMO. – guillaume31
Это интересный вопрос. я буду продолжать следовать этому ... @ guillaume31 - это так отличается от обновления БД? Я вижу некоторое сходство с использованием Active Record, где объект напрямую разговаривает с DB/IRobot, используя DDD, где модель домена действует как фактический робот и проверяет все действия перед отправкой их реальному роботу. – danfromisrael
Не уверен относительно DDD для коммуникации. –