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

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


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 (внешнее изменение)