Требуется помощь в разработке приложения - PullRequest
0 голосов
/ 22 июня 2011

Предложенная архитектура нашего нового приложения приведена ниже

  • Уровень представления Это будет приложение ASP.NET MVC, работающее на мобильном телефоне

  • Уровень сервисов Это будет Сервис WCF.Уровень Presentation связывается со службами с помощью пользовательского DTO.

  • Уровень бизнес-логики. Это обычная библиотека классов c #, в которую записана вся логика, связанная с бизнесом.Этот слой предоставляет бизнес-объекты слою сервисов.Уровень услуг использует транслятор сущностей для преобразования бизнес-объектов в DTO

  • Уровень доступа к базе данных. Для этого мы планируем использовать EF4.1.Мы хотели бы иметь поддержку хранимых процедур.Следовательно, план состоит в том, чтобы использовать подход Model First

Поскольку это наша архитектура, у меня возникают следующие вопросы

  • Вместо того, чтобы иметь отдельные бизнес-объекты и сущности, можномы объединяем эти два.Это хороший подход ??
  • Так как клиент является веб-ориентированным, можно ли использовать объекты самообследования?
  • Может быть, пришлите мне несколько ссылок о том, как оптимизировать производительность

1 Ответ

1 голос
/ 22 июня 2011

Вместо того, чтобы иметь бизнес-объекты и сущности отдельно, можем ли мы объединить эти два Это хорошо подход ??

Поддержка хранимых процедур не является основанием для использования Model First - я бы предпочел перейти к коду в первую очередь, так как это больше освобождает вас от инструментов.

Поскольку клиент работает в Интернете, Хорошо, чтобы использовать объекты самообследования ??

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

Использовать объекты самообследования, только если контекст объекта недоступен на ярус, где происходят изменения объекта График сделан. Если контекст объекта доступно, используйте производную EntityObject типы, или "старые" объекты CLR (POCO) типы или типы POCO-прокси. За больше информации, см. Работа с Объекты.

Как уже упоминалось, я бы предпочел POCO, так как в конечном итоге с ним будет легче работать.

Может быть, пришлите мне несколько ссылок о том, как оптимизировать производительность

Оптимизация производительности находится далеко впереди и зависит от того, что вы делаете или от проблем, которые вы решаете ... но в целом вы захотите минимизировать использование провода - либо провода от веб-сервера к база данных или провод от мобильного клиента до веб-сервера.

Также обратите внимание, что есть еще несколько вопросов на эту тему, например ::

ASP.NET MVC & EF4 Entity Framework - Существуют ли какие-либо проблемы с производительностью при использовании объектов по сравнению с извлечением только тех полей, которые мне нужны?

Сайт перепрограммирования производительности в MVC3 с Entity Framework введите описание ссылки здесь

...