Какую структуру DI/IoC я должен изучить дальше?

Я немного использовал Spring и Spring.NET, но я хотел бы посмотреть, что еще там есть. Кто-нибудь может порекомендовать хороший фреймворк Java или.NET, который я мог бы попробовать изучить?

6 ответов

Решение

Вот список контейнеров IoC от хорошего мистера Хансельмана...

Замок Виндзор очень популярен, вы могли бы сделать хуже, чем учиться этому.

На стороне.Net Ninject, пожалуй, самый интересный, на стороне Java, я бы сказал, посмотрите Google Guice. При этом DI есть DI, и все они более или менее делают одно и то же. Различия в основном в том, как они настроены.

Google Guice очень хорош - если вам это действительно не нужно, нет файлов конфигурации.xml - все делается с помощью аннотаций, и в идеальном мире вы можете избежать методов установки, вставляя свои зависимости через конструктор.

Я бы предложил JBoss Seam. У него очень отличная модель внедрения зависимостей, чем у Spring. ДИ Seam является двунаправленным и может вводить значения на каждом этапе жизни объекта (не только во время инициализации).

Это, конечно, не хорошо для всего, но если вы хотите попробовать разные вещи в DI, это интересно.

Посмотрите на домашнюю страницу Шова.

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

Перейти мастер функционального программирования, скажем, F#. Освойте новый IObserver и связанную с ним работу, появившуюся в.NET 4.0, как концептуальное сопряжение с IEnumerable. Напишите язык, специфичный для вашего домена. Создавайте новые абстракции, а не просто переучивайте старые.

Другие вопросы по тегам