войти зарегистрироваться

Блог им. OlegasРеализуем DI-контейнер на PHP5 с помощью Reflections

Этот топик для тех, кто представляет, что такое DI (Dependency Injection) но никогда не задумывался «как оно там унутре все работает».
Прочитать, что такое DI, можно например тут или тут

Не ставилось целью разработать свой Production DI-фреймворк. Хотелось разобраться как можно реализовать подобную функциональность наиболее удобно (Phemto, упомянутый выше, показался менее удобным, чем, например, способ от Microsoft Unity)

Реализованный вариант конфигурируется в коде (не через XML, как некоторые другие реализации, хотя это кому как удобнее).
Каждый используемый тип должен быть предварительно зарегистрирован, но не надо перечислять его аргументы, как например в Phemto — контейнер сам выяснит типы аргументов конструктора через Reflection.

.NETПервый взгляд на Unity 2.0

image
Unity – это проект с открытым исходным кодом от группы Patterns & Practices в Microsoft. Цель проекта – предоставить классический IoC фреймворк для разработчиков, позволяющий инстанцировать объекты продвинутым образом и иметь возможность гибкой конфигурации. Unity представляет собой отдельный фреймворк, но часто включается в проекты как часть Enterprise Library. С приходом .NET 4 и Visual Studio 2010, на подходе и новые версии Unity и Enterprise Library. В этой статье рассматривается бета-версия Unity 2.0. Чтобы попробовать фреймворк самим, посетите http://unity.codeplex.com. Релиз Unity 2.0 и Enterprise Library 5.0 намечен на тоже время, что и релизы Visual Studio 2010 и .NET 4, то есть этой весной.

Блог им. xlamEnterprise Library 5.0 and Unity 2.0 Roadmap

На днях Григорий Мельник анонсировал план выпуска Enterprise Library 5.0 и Unity 2.0. Вся основная информация изображена на рисунке. Дополнительные комментарии можно прочитать в блоге автора. Хорошая новость состоит в том, что ждать осталось не долго.
image

.NETКак подружить ASP.NET Controls и DI-контейнер

Интро

В последнее время решил немного освежить свои знания в ASP.NET, в связи с чем углубился в процессы генерации кода контролов по разметке (*.ascx, *.aspx) и обнаружил что можно делать очень интересные решения, о которых  о хочу поведать. Итак сегодня мы узнаем, как подружить наш Dependency Injection контейнер с генерируемым контролами кодом.

.NETUnity Auto Registration

Unity Auto Registration


Unity Auto Registration расширяет возможности Unity контейнера, предоставляя fluent interface для автоматической регистрации типов по установленным правилам. Используя всего несколько строк кода вы можете отсканировать указанную сборку и зарегистрировать все соответствующие указанным правилам типы.

.NETDI и IoC для начинающих, часть 3

Продолжая тему DI/IoC с использованием Unity (часть 1, 2), мы рассмотрим как можно им воспользоваться в ситуациях, когда объект создаем не мы, а также посмотрим на применение фреймворка при unit-тестировании.

.NETDI и IoC для начинающих, часть 2

В продолжение темы по DI/IoC, мы посмотрим на сложные примеры использования Unity в нетривиальных сценариях конфигурации объектов.

.NETDI и IoC для начинающих

Тема DI/IoC достаточно простая, но в сети очень сложно найти хорошее описание того, как это работает и зачем это нужно. Вот моя попытка, с использованием Unity. Хорошо ли объяснена тема – судить вам.

.NETПервые шаги с Unity: DI/IoC & AOP

Введение


Если Вы когда-нибудь слышали такие слова, как IoC, DI, AoP, но не имеете четкого понимания этих терминов, надеюсь, эта статья поможет в них разораться на примере работы с Microsoft Unity контейнером.

Будущее здесьUnity — 3D в браузере

Unity3D — это средство разработки и мультиплатформенный движок для 3D-игр под Mac OS X и Windows, а также с возможностью работать в… браузере. Последнее особенно интересно, поскольку подобных решений очень мало и зачастую они работают весьма медленно.