ianytitle.txt
2008-02-28 00:23...
Краткое описание пакета ianytitle ================================= Пакет разработан для подержки интерфейса IAnyTitle, который позволяет найти имя для текущего объекта неким эвристическим способом. Способ реализации ----------------- Продукт определяет интерфейс IAnyTitle и адаптер к нему, адаптер скрывает в себе эвристический алгоритм подбора заголовка. Идея эвристического алгоритма: пытаемся привести продукт к разным интерфейсам, как только получаем интерфейс с непустым заголовком (или другими атрибутами, позволяющими получить непустой заголовок), процесс останавливается. Вариант реализации такого адаптера можно посмотреть в статье, он работает, но повторять его не надо, так как есть другое, более интересное решение, основанное на подписных адаптерах, про которые можно прочитать в API работы с реестрами.txt. Предложение такое: IAnyTitle адаптирует IContained интерфейс и, следовательно, всегда может предложить IContained(context).__name__ в качестве идентификатора. Но это используется только как последний возможный вариант. В качестве других вариантов вызываются по очереди все подписные адаптеры контекста к интерфейсу - опять-таки - IAnyTitle, для каждого из них выбирается атрибут title и первый же непустой возвращается. На атрибут shorttitle пока забиваем :). Ну и title должен быть реализован как то так:: @property def title(self) : и т.п. Об этом можно прочитать в "Использование декораторов в Python". Интерфейсы ---------- IAnyTitle Интерфейс заголовка, предоставляет два атрибута: title -- заголовок, shorttitle -- краткий заголовок. Виды ---- Продукт не предоставляет видов



