2012-04-18 9 views
-1

Я нахожусь в фазе «дизайна» нового проекта.Лучший дизайн для WCF + LINQ + Фоновые работники

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

  1. Существует служба WCF, которая будет предоставлять услуги нескольким потребителям-потребителям.
  2. Служба WCF будет выполнять операции CRUD в базе данных SQL.
  3. Служба WCF будет отвечать на вызовы клиентов с данными обратно к ним.
  4. В дополнение к «опросу» от клиентов должен быть установлен механизм для отправки клиентам обновлений о различных событиях (поэтому в фоновом режиме должен быть какой-то рабочий поток, который будет проверять наличие новых событий и уведомить всех соответствующих клиентов об этом).
  5. На клиенте должна быть установлена ​​система «входа», защищенная паролем.

То, что я думал только о том, (я на фазовой диаграмме класса):

  1. для службы - есть класс интерфейса, и класс
  2. реализации для каждого объекта, что служба получает или возвращает - создает класс DTO
  3. все возвращенные объекты будут наследоваться от какого-то класса «Результат», который может содержать предупреждения и ошибки из бизнес-логики.
  4. Уровень доступа к данным будет LINQ.

Теперь я зациклился на том, как я должен разделять слои, и как я должен проиллюстрировать это на диаграмме классов.

Я знаю, что я должен был иметь сквозные таких слоев, как «Безопасность» и «Регистрация». Я также знаю, что служба WCF не должна напрямую связываться с базой данных, но должна использовать какую-то бизнес-логику.

Но я не знаю, как это показать на диаграмме классов. Создать класс «Бизнес-логика»?

и как показать поток «работника», который должен работать в фоновом режиме и уведомлять клиентов о специальных вещах?

и как все сочетается? Значение - создать экземпляр бизнес-логики, а затем внедрить его в службу? или является бизнес-логикой статического класса?

Я думаю, что я мог бы перепутать термин «домен» и «слой» может быть :(

Спасибо за тех, кто может объяснить, как я должен проектировать вещи правильно, или, возможно, указать мне на хорошее руководство для моей ситуация ...

+0

Здесь есть много вопросов и вопросов. Сначала вы можете прочитать несколько книг и задать более конструктивный вопрос (вопросы). –

+0

Я просто спрашиваю о диаграмме классов –

+0

Можете ли вы затем ответить на некоторые из моих вопросов, пожалуйста? Поверьте мне - я прочитал несколько книг и много статей о MSDN и других сайтах. Информация просто иногда противоречит, поэтому я бы хотел, чтобы эксперт просто попытался привести меня в правильном направлении ... –

ответ

0

Я только что прочитал книгу, которая ответит на большинство ваших вопросов «Многоуровневые услуги WCF 4.0 с LINQ to Entities». Поиск в Интернете у вас может быть несколько идей.

+0

Имеет ли значение, если я использую LINQ для объектов LINQ to SQL? –

+0

Кроме того - содержит ли книга какие-либо сведения о методе «инъекции», о котором я читал на некоторых сайтах? –

+0

Это большой открытый вопрос, касающийся различных концепций дизайна, а не конкретных решений по обеспечению качества/решения проблем, и может не получить хороших ответов. Вы найдете лучшие ответы на SO, задав конкретный вопрос о вашей импликации, включая, что вы пытаетесь, какой код вы написали, и где этот код не соответствует вашим ожиданиям или не разрешает проблему, которую вы пытаетесь решить. – EtherDragon