Сопоставить стек архитектуры Java с Microsoft - PullRequest
6 голосов
/ 02 марта 2010

Исходя из фона Java, я сейчас работаю в магазине Microsoft, где мы используем только технологии MS. Можете ли вы сопоставить этот стек архитектуры с миром MS? Я не ищу эквиваленты для определенных слоев стека, но проверенный сквозной стек, который, как известно, работает в реальном мире:

Спасибо!

Стек архитектуры:
Hibernate
Spring DAO
Spring Декларативное управление транзакциями
Доменная модель POJOs
Пружина MVC
BlazeDS
Flex
Flex Интерактивная визуализация данных для построения графиков и интерактивного анализа данных

Перекрестные проблемы:
Безопасность с использованием Acegi + ACL (авторизация содержимого данных для пользовательских ролей)
Тестирование с использованием фиктивных объектов
Развертывание с использованием Ivy + Ant
Регистрация с Log4J

Ответы [ 6 ]

2 голосов
/ 02 марта 2010

Стек архитектуры:

  • Hibernate -> NHibernate
  • POJOs доменной модели -> POCOs доменной модели
  • Spring MVC -> ASP.net MVC
  • BlazeDS -> RIA Services
  • Flex -> Silverlight

Для DI, вы можете просто перейти на spring.net, если вы знакомы с этим. Весна и Замок Виндзор, вероятно, являются наиболее зрелыми, а за ними следует StructureMap.

Перекрестные проблемы:

Безопасность с использованием Acegi + ACL (авторизация содержимого данных для пользовательских ролей)

Вероятно, придется кататься самостоятельно.

Тестирование с фиктивными объектами

.net методы по умолчанию не являются виртуальными, как java, что резко ограничивает возможности динамического прокси (секретного соуса, который заставляет фальшивые фреймворки работать на статическом языке). Либо Rhino.Mocks, либо Moq будут наиболее часто используемыми, бесплатными и использующими подход динамического прокси. Существует также Typemock Isolator, который будет издеваться практически над чем угодно, но стоит 800 $ / место.

Развертывание с использованием Ivy + Ant

Айви будет круиз-контролем, если вы хотите бесплатно, и TeamCity, если вы хотите хорошего (предостережение: я фанат реактивного мозга ;-) Муравей будет NAnt или MSBuild (практически то же самое)

Регистрация с Log4J

Два основных варианта, либо log4net, либо блок ведения журнала Microsoft Enterprise Library (любите их имена), log4net определенно является более легким из двух вариантов, но это зависит от того, что вы хотите сделать

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

.NET-магазины, как правило, более предписывают то, что «разрешено», поэтому сначала спросите своих коллег, прежде чем окунуться и просто выбрать что-то.

Я использовал Spring.NET, и проект Castle, и оба довольно солидны, но не имеют функции 1: 1 с их аналогами Java. Магазины MS часто стремятся держаться поближе к материнскому кораблю, поэтому чаще используют такие вещи, как MS Enterprise Library / Unity (надежная, но многословная), ASP.NET MVC, Silverlight и Entity Framework.

Для CI есть TFS (Team Foundation Server, бесплатная версия теперь поставляется с Visual Studio), но если вы хотите придерживаться бесплатного программного обеспечения, то CruiseControl.NET, nAnt, nUnit в основном принимают проект Java, преобразуя "j" в и "n" и, вероятно, есть продукт;)

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

Ниже приведены не столько точные эквиваленты, но и другие альтернативы, используемые в мире .NET.

Spring MVC -> ASP.NET MVC

Flex -> Silverlight (только на стороне клиента)

Flex интерактивные данные -> Создание диаграмм Silverlight или ASP.NET

Hibernate -> инфраструктура сущностей ADO.NET.

РЕДАКТИРОВАТЬ:

Я думаю, что следующее было бы хорошей отправной точкой (я упустил то, о чем ничего не знаю, например, «декларативное управление транзакциями»).

SQL Server
ADO.NET Entity Framework
.NET RIA Services
Silverlight (компоненты диаграмм включены в набор инструментов Silverlight )

Для регистрации я предпочитаю log4net.

Что касается отчетов и анализа данных, вы также можете обратиться к службам SQL Server Analysis Services и Reporting Services.

Также ознакомьтесь с Team Foundation Server для тестирования, автоматических сборок и развертывания.

0 голосов
/ 02 марта 2010

Я хотел бы добавить еще одну вещь, поскольку я не думаю, что об этом уже упоминалось, что Unity является реальной (и более простой!) Альтернативой Spring:

http://www.codeplex.com/unity/

0 голосов
/ 02 марта 2010

Я что-то нашел, Sharp + Silverlight дает мне 80%? Считается ли это лучшей практикой в ​​мире .NET?

http://wiki.sharparchitecture.net/MainPage.ashx

Самая большая недостающая часть, которую я вижу, это функциональность Acegi + ACL ...

0 голосов
/ 02 марта 2010

Я знаю, что у некоторых из них есть эквиваленты:

log4j -> log4net

Hibernate -> NHibernate

Spring -> Spring.net

Кроме того, кажется, что POJO не совсем специфичен для java (ну, я полагаю, J-часть :)). Я предполагаю, что «старый старый объект C #» можно считать эквивалентом ...

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