Замечания?! :) Концовка статьи откуда взята? Форматирование надо привести к нормальному виду!
По ninject вообще странности, вы какую версию используете?!
Bind().To(); Что и с чем связывается то?!
ninjectKernel.Get(); Такой перегрузки то же нет в ninject!
Да даже если используется версия, которая мне не знакома, сложно поверить, что используется какое-то «умный» механизм, который сам умеет разрешать все зависимости интерфейсов с классами без явных указаний их в коде или хотя бы в конфигурационном файле.
Мной подразумевался JBoss Seam, а точнее Seam Weld. Weld — реализация IoC-контейнера для JavaEE. Среди прочего — умеет выполнять DI даже без выделения интерфейса, поддерживает такую приятную фичу как квалификаторы и прочее.
в статье шел разговор только про DI и IoC и ничего более. я конечно, не работал со Seam, однако для разработки веб-приложений с TDD и DDD прекрасно подходит ASP.NET MVC. сам использую и Ninject вместе с ним. а вместо POJO прекрасно подходят POCO из Entity Framework 4.
К слову, POCO на то и POCO, что они не «из EF 4» или еще откуда то. Это просто объекты, которые только содержат логику или являются DTO, но понятия не имеют кто и как их хранит.
Нужно было еще рассказать про LifetimeManager. Раз мы не используем new для создания объекта, то можем использовать уже созданный. И можем реализовать, например, синглтон таким образом.
IoC, DI, IoC-контейнер — Просто о простом