Дизайн, управляемый доменами - какова роль парсинга данных

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

Хотя это отлично работает, теперь я также рассматриваю возможность импорта устройств из нескольких текстовых форматов файлов. Рассмотрим этот рабочий процесс:

  1. Служба отслеживания каталогов видит, что добавлен новый файл устройства.
  2. Служба использует службу приложения из моего приложения для отправки устройств, описанных в файле.

Теперь служба приложения может иметь метод со следующим именем и подпись: ApplianceService.Register (строка fileContents) . Я думаю, что служба наблюдения за каталогами будет использовать этот метод службы и передавать ему все содержимое файла. Затем служба приложения будет координировать синтаксический анализ. Анализ содержимого файла и его преобразование в полные объекты устройств включает несколько шагов. Теперь мой вопрос:

Вопрос: Это правильно, или логика синтаксического анализа должна существовать внутри службы наблюдателя за каталогами? Каждый тип формата файла является своего рода частью домена, но опять же, это не так. После того, как файлы будут проанализированы на сущности из любого формата, сущность никогда не узнает, что когда-то она была представлена ​​с использованием этого формата. Если логика синтаксического анализа должна существовать в службе-наблюдателе, я бы передал новые устройства службе регистрации в качестве объектов передачи данных.

Я думаю, что меня беспокоит, как устройство должно быть представлено до того, как оно войдет в мое приложение ( используя прикладной уровень как точку входа). При отправке устройств из веб-служб я передаю последовательность объектов передачи данных устройства. Это отличается от взятия потенциально странно отформатированного файла и его синтаксического анализа в объект передачи данных, поскольку сопоставление запроса веб-службы с объектом передачи данных довольно прямолинейно и не так сложно.

Любые мысли по этому поводу приветствуются.

8
задан Anders 23 February 2011 в 23:54
поделиться