Сколько объектов сервис домена RIA должен включать?

Я задавался вопросом о том, как точно реализовать доменный сервис в RIA. Действительно ли распространено включать все объекты во всю модель предметной области в единственном доменном сервисе, таким образом делая сервис ответственным за всю базу данных? Действительно ли это - способ, которым это обычно делается? У меня действительно нет причины разделить доступ к данным на различные сервисы, но я задавался вопросом, считают ли это хорошей практикой, и каковы за и против такого подхода были бы.

Кроме того, это считают хорошей или плохой практикой для регистрации доменного контекста как одиночного элемента с МОК, так, чтобы целое приложение работало с тем же набором данных, таким образом избегая проблем параллелизма и подобных проблем?

Мысли?

Спасибо

6
задан 1 April 2010 в 19:44
поделиться

2 ответа

В нашем приложении есть две отдельные службы: одна для модели данных, а другая используется строго для аутентификации. Мы взяли этот дизайн из примера структуры приложения MS для бизнеса.

Мы рассматривали возможность разделения нашей службы домена данных на более мелкие компоненты, но решили отказаться от этого, поскольку это не дало никаких преимуществ (кроме уменьшения размера класса службы). Если у вас есть отдельные модели данных, которые полностью независимы друг от друга, то такой путь может иметь смысл. Интуитивно понятно, что служба домена должна представлять весь домен. Если ваши домены независимы (с случайной необходимостью пересечения), то логично разделить их таким образом.

Что касается использования контекста в качестве синглтона: Я пробовал это сделать и в итоге вместо этого создал экземпляры класса-области. У нас не возникло никаких проблем, поскольку все они используют одно и то же базовое соединение данных. Я не знаю, какова "официальная" лучшая практика, но именно так я видел это во многих RIA-приложениях.

1
ответ дан 17 December 2019 в 22:11
поделиться

Спасибо, Ник. На самом деле я сделал то же самое, что и вы, я создал два сервиса, один для аутентификации и один для доступа к данным. Это кажется мне наиболее логичным.

Что касается того, чтобы сделать datacontext синглтоном, я тоже пробовал это, и это хорошо работает. Не нужно постоянно перезагружать и обновлять данные и беспокоиться о проблемах параллелизма в других классах :)

0
ответ дан 17 December 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: