ng.utility
2007-12-02 21:54Коллекция утилит, почти ни на что не годных. Ну, где-то они употребляются конечно, но мы даже подумывали что бы от одной из низ избавится, пока не поняли, что аналог, который мы находили в ++apidoc++ это она и есть.
Продукт
| Название: | |
| ng.utility | |
| Выложен на PyPI | |
| Репозиторий |
Краткое описание пакета ng.utility
Пакет разработан как библиотека небольших утилит, каналов и других несистематизированных компонент для разных темных целей.
Канал objecteventchannel
Некоторые сообщения (IIntIdAddedEvent, IIntIdRemovedEvent), являясь, по сути, сообщениями жизненного цикла объекта, не являются такими по оформлению. Не смотря на то, что в сообщении содержится атрибут, указывающий на объект, сообщение не передается как пара (Сообщение, Объект), что вынуждает обработчик обрабатывать все сообщения и проверять наличие у вложенного объекта интерфейса, который нужно обрабатывать. Такой подход является достаточно ресурсоемким, так как активирует по каждому событию множество обработчиков, которые реально ничего не делают.
Канал objecteventchannel исправляет ситуацию для указанных собщений, делая повторную отправку сообщения как пары (Сообщение, Объект) и позволяя декларировать обработчик для обслуживания сообщений на конкретных видах объектов, что намного эффективнее. Практически все продукты, используемые в CMS DreamBot, реализуют обработчики вышеуказанных событий в расчете на наличие objecteventchannel, поэтому его установка и настройка является обязательной.
Утилита intidsvocabulary
Это словарь утилит IIntIds, используется некоторыми интерфейсами, самостоятельного значения не имеет.
Пакет interfacewave
Эта утилита перехватывает событие создания объекта с интерфейсом IUseInterfaceWave и создает в нем все интерфейсы, существующие в его контейнере и расширяющие интерфейс IPropagateInterface.
Таким образом легко создать иерархию объектов, развернутых под данным объектом и имеющих одни и те же динамические интерфейсы.
Ссылки на эту статью:
Наши продукты используются Перенес несколько свободно болтающихсяя продуктов в првильный неймспейс ng.app.objectqueueВложено:
package Package developed to be a library of small, but useful utilits, channels and other components for use in different dark purpose. Channel objecteventchannel Some events (IIntIdAddedEvent, IIntIdRemovedEvent) is, in sense, events of component life cicle, is not such structurally. Event content attribute with value equal object of event, but event is not send as pair (event, object) and event handler must processing all event and do test on interface providing. Utility intidsvocabulary This is vocabulary on IIntIds utilities using of some our products. Package interfacewave This package components catch event emited by object with interface **IUserInterfaceWave** on creating and asign new object all interfaces from its parent if them extent **IPropagateInterface** interface. Hierarhy of object with dynamic interfaces such as their parents can be created simple by this way. ...


