Контроллер <-> Сервисное взаимодействие компонентов

ОБНОВЛЕННЫЙ:

У меня есть настольное приложение со следующим взаимодействием компонентов:

  • Winforms UI.
  • Сервис (незавершенный класс C#, который содержит бизнес-логику, чтобы на самом деле сделать материал).
  • Контроллер (класс C#, который координирует события, сгенерированные UI, и называет сервисные методы).

Если контроллер просит, чтобы сервис сделал что-то, но для того сервиса нужно что-то больше от контроллера сначала (т.е. данные, которые контроллер должен использовать UI для получения от пользователя), как сервис должен заставить контроллер делать так?


Я удобен с понятием это

  • Пользователь общается с
  • UI, который общается с
  • Контроллер, который общается с
  • Сервисный компонент (чтобы не быть перепутанным с веб-сервисом или сервисом из процесса), который общается с
  • Данные/Репозитории, который коммуникация...

и так далее.

Однако относительно Контроллера, общающегося с Сервисом, какой метод является лучшим для этого? Если:

  1. Сервисные методы быть довольно мелкомодульными, и выдать исключения, если что-то не правильно так контроллер, знают, идти ли дальше или сказать пользователю, что что-то пошло не так, как надо? Или...
  2. Сервисные эхо-сигналы методов, которые контроллер может осмотреть для решения, что сделать затем?

Мне нравится первая опция, потому что второе могло означать взрыв класса, где Вам нужен a ServiceResult- класс стиля для каждого Сервисного метода.

Я спрашиваю из-за курса, который Сервисный компонент не может сказать UI, что сделать, только контроллер может, но контроллер не знает, что сказать UI, не получая некоторую обратную связь от Сервиса.

Что Вы думаете?

5
задан Neil Barnwell 18 January 2010 в 11:39
поделиться