Как реализовать 3-уровневую архитектуру .net с использованием Winforms - PullRequest
6 голосов
/ 14 марта 2010

В течение некоторого времени я собирал приложения уровня n, используя сервер базы данных в качестве уровня данных, Winforms в качестве уровня представления и веб-сервис ASP.NET asmx в середине для отправки туда и обратно нетипизированных наборов данных. Хотя этот подход до сих пор работал для меня, сегодня он определенно чувствует себя устаревшим.

Какие технологии мне следует использовать, если бы я создавал подобное архитектурное приложение сегодня? Технология .net 4.0 приветствуется.

Я все еще хочу, чтобы в качестве источника данных использовался сервер базы данных, и веб-сервисы asmx, вероятно, должны быть заменены WCF. Я все еще хотел бы, чтобы уровень представления выполнялся как настольное приложение (Winforms или WPF), поэтому проигнорируйте ASP.net для этого вопроса.

Мой главный вопрос сводится к тому, что использовать в качестве бизнес-объектов. Я хочу что-то, что легче привязать к интерфейсу, чем нетипизированные наборы данных, и наборы данных со строгим набором данных кажутся очень тяжелыми. Мне также нужно что-то, что может отслеживать изменения, чтобы пользователи не перекрывали изменения друг друга в базе данных.

Будет ли Entity Framework 4 использоваться для сценария, подобного этому? Есть ли в наличии подробные руководства?

Ответы [ 2 ]

1 голос
/ 14 марта 2010

Я также предпочитаю использовать EF4 или LinqToSQL, WCF, WF и да WPF для презентации. Также, если вы решили использовать WPF, используйте несколько библиотек для IOC DI, таких как Unity или STRUCTUREMAP или для повторного использования компонентов MEF и так далее. Если вы перестали использовать WPF как формы Windows, вы не получили никаких преимуществ от него.

1 голос
/ 14 марта 2010

Здесь есть хорошее введение в создание n-уровневых приложений с EF 4: http://msdn.microsoft.com/en-us/magazine/ee335715.aspx

Внедрение объектов POCO в EF 4 упрощает создание приложений n-уровня, так как оно удаляетнеобходимость программирования картографов для отображения между объектами EF и объектами передачи данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...