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

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


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 — 127.0.0.1