[Moscow.pm] Как бороться с циклическими зависимостями?

Alexander Lourier aml на rulezz.ru
Пт Мар 19 02:15:16 PDT 2010


В письме Friday 19 March 2010 11:50:52 Roman V. Nikolaev написал:

> Привет. Помогите осилить сабж. Есть несколько конкретных примеров и не
> понятно как нормально сделать:
> Например есть модуль My::Config который берет данные о подключения к БД
> из txt файла, а так же через него получают некоторые конфигурационные
> параметры из БД (с помощью DBI). Таким образом получается зависимость
> что DBI нужен модуль конфига чтобы получить данные о подключении, а
> конфигу нужен DBI чтобы далее работать с параметрами хранящимися в БД.

С точки зрения проектирования, надо на два класса разбивать - один отвечает за конфиг на файлах, другой - за конфиг из 
БД. Если они реализуют общий интерфейс, то можно этим классам общего предка сделать. Это опционально.

А с точки зрения перла никаких проблем нет. Циклические зависимости вполне себе разрешены. Главное на стадии компиляции 
не рассчитывать на то, что все use'ные модули полностью инициализированы.

-- 
Alexander Lourier, http://aml.rulezz.ru/


Подробная информация о списке рассылки Moscow-pm