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

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


limb3_2007_4: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_2007_4/ru/packages/toolkit/di.txt · Последнее изменение: 2010/11/10 10:02 — 127.0.0.1