Инструменты пользователя

Инструменты сайта


limb3:ru:packages:toolkit:di

Зачем нужен пакет Toolkit

Некоторые объекты являются особо популярными, и зачастую требуется иметь глобальный доступ к таким объектам в рамках всей системы. К таким объектам можно отнести Запрос, Ответ, Пользователь, различные фабрики и т.д.

Некоторые разработчики реализуют такие классы в виде одиночек (Singleton). Но паттерн одиночки в последнее время воспринимается двояко, некоторые признают в нем anti-pattern, то есть как неверное решение, использование которого может повредить проекту.

Другая альтернатива - это воспользоваться методиками для инверсии зависимостей и применить принципы Dependency Injection или Service Locator.

Что такое Dependency Injection?

Принципы Dependency Injection и Dependency Pullup хорошо описаны в статье Инверсия зависимостей при проектировании Объектно-Ориентированных систем.

Подробнее о инверсии зависимостей можно узнать из статьи Мартина Фаулера Inversion of Control Containers and the Dependency Injection pattern

Также можно почитать о паттерне ServiceLocator в статье Java J2EE

Service Locator

Service Locator - это активная форма получения зависимых объектов, относится к Dependency Pullup. Нам этот способ показался более удобным и наглядным, чем классический Dependency Injection. Пакет TOOLKIT - это реализация расширенной версии этого паттерна Dynamic Service Locator.

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
   __ __  _      __   _  __     __ __  __
  / // / | | /| / /  / |/ / __ / / \ \/ /
 / _  /  | |/ |/ /  /    / / // /   \  / 
/_//_/   |__/|__/  /_/|_/  \___/    /_/
 
limb3/ru/packages/toolkit/di.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)