У меня есть объекты собрания, которые составляют основу системы планирования, из которых gridviews используются для отображения важной информации. Это предназначено для планирования работы сотрудников на собраниях, а также для сотрудников, чтобы посмотреть, что было запланировано.Сервисный уровень DTO - большие сложные интерактивные объекты, подобные отчету
Я пытаюсь следовать принципам DDD, но мне трудно понять, что нужно передать с моего уровня обслуживания до области презентации системы. Это связано с тем, что расписание может быть большим и фактически состоит из множества различных элементов системы. Например. Имя клиента, адрес, информация о событии, группа и т. Д., Все из которых необходимы планировщику собрания для принятия решения.
В дополнение к этому планировщику необходимо изменить значения в этом расписании и передать его обратно на уровень обслуживания (например, назначить сотрудников из выпадающих списков, возможно, изменить группу и т. Д.). Таким образом, информация на самом деле не «readonly» - с ней нужно взаимодействовать. то есть. Это не просто отчет.
Наш текущий подход заключается в заполнении сглаженного «объекта расписания» из SQL, который построен из небольших частей различных объектов домена. Это довольно сложный запрос. Когда изменения были сделаны, они затем передаются обратно на сервисный уровень, и служба будет извлекать объекты домена, о которых идет речь, и запускать бизнес-методы на объектах домена с использованием информации из DTO.
Мой вопрос в том, что это правильный подход? то есть. Продолжайте генерировать большие пользовательские объекты из SQL, а затем переходите с объектов Service Layer to Presentation Layer, которые очень похожи на View Models?
UPDATE из-за ответ
Чтобы дать представление о количестве лиц/агрегирует отношения, связанные. (Это нечитаемые примеры, поэтому отношения важных вещей здесь)
Client находится в одной группе по умолчанию
Клиент имеет один открытый случай, но многие закрытые
случаи имеют много совещаний
Встреча много назначенных сотрудников
Знакомства ИНГ есть много причин
Встреча может получить планируются к различным группам
Сотрудники могут быть связаны со многими группами.
Расписание должно загружать все собрания в открытых случаях, которые относятся к пациентам, которые находятся в тех же группах, что и работник.
Планировщик может видеть имя клиента, адрес клиента, информацию о событии, MeetingTime, MeetingType, MeetingReasons, запланированные группы (showstrail), назначенные сотрудники (также скрытые идентификаторы сотрудников).
Редактируемые поля назначают раскрывающийся список сотрудников и группу по расписанию.
- Расписание может достигать двухсот рядов.
- DTO сходит с WCF, поэтому к домену домена обращаются выше этого уровня сервиса, а не ниже.
- Бизнес-вызовы бизнес-моделей с использованием услуг, основанных на значениях DTO, переданных обратно, а репозитории занимаются вставками/обновлениями.
Таким образом, я полагаю, чтобы обновить, использует запрос для заполнения объекта, который содержит все выше приемлемо, чтобы передать, как один слиты DTO? А если нет, как бы вы к нему подошли? (приводя некоторые примеры вызовов к уровню обслуживания и немного объясняя, как вы понимаете, что ORM выбирает данные, сохраняющие в виду производительность)
Этот вопрос охватывает слишком много, вам лучше всего задать один вопрос и сократить контент до четверти. Я бы забыл о DDD и SOA, то, что вы описали выше, не является DDD или SOA. Ваше решение по раскрытию уровня приложения над веб-службами (в частности, WCF) имеет множество побочных эффектов, если вы идете по этому пути, тогда я бы разработал решение, которое работает (по крайней мере, в промежуточный период) и забывает обо всех акронимы. Вместо этого вы задумали создать отзывчивый веб-сайт? Это даст вам решение, которое работает на настольных компьютерах, мобильных телефонах и планшетах. –
Привет, у нас уже есть веб-сайт, который работает на всех устройствах. Было принято решение воспользоваться преимуществами native на мобильных устройствах (не мое решение), и поэтому, поскольку это будет другая команда, мы предоставляем сервисный уровень. – Milambardo
Также - я отредактирую вопрос. – Milambardo