.NET эквивалент современной веб-архитектуры Java - PullRequest
5 голосов
/ 03 декабря 2008

Почти каждый новый Java-веб-проект использует современную MVC-инфраструктуру, такую ​​как Struts или Spring MVC для веб-уровня, Spring для "Service" / уровня бизнес-логики и ORM-преобразователь, такой как Hibernate для персистентности. , Что эквивалентно в .NET?

Я предполагаю, что ASP.NET используется для веб-уровня, а ADO.NET - для постоянства, но что эквивалентно Spring, то есть то, что используется для привязки транзакций и компонентов и тому подобное.

Мне известно о Spring.NET, но меня больше интересует фактический способ создания приложений в .NET.

Ответы [ 6 ]

4 голосов
/ 03 декабря 2008

Подход по умолчанию - ADO.NET/Linq-to-Sql, ASP.NET и пользовательский уровень обслуживания, который заново изобретает колесо. У Microsoft есть Unity для автоматического подключения, но я не чувствую, что внедрение зависимостей пока что является обычным явлением в мире .NET.

Но если использовать лучшие практики, это ASP.NET MVC для пользовательского интерфейса, любая инфраструктура DI (Castle, Unity, Autofac, ...) для проводки и NHibernate для персистентности.

1 голос
/ 03 декабря 2008

Нет фактического способа доступа к данным в .NET.

Опции включают в себя:

  • ADO.NET DataReaders *
  • ADO.NET DataTables *
  • LINQ to SQL *
  • NHibernate
  • ADO.NET Entity Framework *
  • Типизированные наборы данных *
  • Spring.NET
  • CSLA.Net

Обратите внимание, что те, с *, это текущее предложение самой Microsoft. И я пропустил те, которые не помню, как пишется.

1 голос
/ 03 декабря 2008

Как то так?

http://www.asp.net/mvc/

0 голосов
/ 17 марта 2009

Обратите внимание, что ASP.NET MVC еще не RTM, но мы используем веб-формы ASP.NET уже много лет (начиная с .NET 1.0).

0 голосов
/ 17 марта 2009

На самом деле CSLA не предоставляет доступа к данным. Реализация доступа к данным остается за вами.

0 голосов
/ 03 декабря 2008

ASP.NET MVC + Доступ к данным, который лучше подходит для вашей работы.

Есть много других фреймворков, инструментов и библиотек, которые могут помочь, такие как Castle, Ninject, Nunit, NLog и т. Д.

Но я считаю, что лучший ответ на ваш вопрос - "Это зависит".

...