2008-02-28

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 -- краткий заголовок.


Виды
----

Продукт не предоставляет видов        
                                                            

Официальный сайт Zope3 Московская группа изучения реактивного движения The Dream Bot Site noooxml