C самого начала работ в ББ у нас возникали некие потребности, которые ни по смыслу, ни по размеру не тянули на отдельную подсистему. Такие модули мы клали в отдельную подсистему Stern. Со временем она разрослась до огромных размеров. Пришлось делить её по авторам. Моя часть - вот.
Краткое описание модулей.
ypkBus - шина сообщений, развитие возможностей шины omcBus от уважаемого Е. Темиргалеева.
ypkAbfAgent - модуль-прокси для связи шины Abf и ypk, используется для миграции старых компонент.
ypkSysAgents - новая версия реализации много-агентной системы, с возможностью взаимодействия агентов с шиной ypkBus
ypkDetails - реализация механизма деталей из проекта Active BB.
ypkBusService - реализация сервиса деталей, добавляет к любому агрегату возможность работы с шиной ypkBus.
ypkCommSrv - болванка модуля работы с DNS записями, я так и не смог её реализовать, аналог приложения nslookup.exe из стандартной поставки MS Windows.
ypkDates - рутина по работе с датами
ypkCtlsSplitter - контрол-сплиттер
ypkDlgBrowser - попытка реализации подхода "текст-как-интерфейс" на основе шины сообщений. Позволяет управлять диалогами, составленными из тестов (описания, ссылки, внедрённые контролы и т.д.)
ypkDlgText - быстрый костыль для составления текстов, вставки ссылок, и прочее, концептуальная часть предыдущего модуля.
ypkDlgLoc - выделил компонент И. Ермакова из подсистемы Mt.
ypkDlgTarget - отображение-обёртка, позволяющее любой контрол наделить способностью принимать объекты методом drag-n-drop.
ypkDlgVar - браузер переменных и процедур. Жмём Ctrl+0, он через мета-механизмы опрашивает модули и выводит в виде браузера результат. Можно нажать Enter и адрес переменной будет выведен в фокусе ввода, если такой имеется. Стары модуль, был разработан для облегчения ввода адресов переменных на больших формах.
ypkDlgTool - размещает сверху окна ББ полоску вкладок, соответствующих открытым окнам документов.
ypkHostToolbar - упрощёный механизм из модуля AmiscToolbar, используется в предыдущем модуле, позволяет вывести составной документ прямо на поверхности главного окна ББ.
ypkDynStrings - объектная обёртка над подсистемой Strings, динамические строки от И. Горячева.
ypkCryptMd5 - порт md5-мясорубки из WinAOS
ypkEncBase64 - кодек данных в формат Base64
ypkEncPunycode - кодек кириллических доменов, модуль-заглушка, так и не был завершён.
ypkEncXhtml - конвертирует стандартные ББ-тексты в формат xhtml
ypkEncXml - записыватели для подсистемы Xmlcore, позволяют записать полученный xml-документ в динамическую строку, вместо файла.
ypkHostPackedFiles - улучшенная версия драйвера упакованых файлов внутрь исполнимых файлов windows, данный модуль даёт возможность работы, когда ББ слинкован не в .exe, а внутри .dll
ypkHostTabFrames, ypkStdTabEx - модули заменяют вид стандартных вкладок на отрисованый внутри ББ и позволяют производить управление отрисовкой вкладок.
ypkHostCmds, ypkHostWin, ypkHostWindows - Как известно, в стандартном ББ невозможно отследить и предотвратить закрытие окна. Для борьбы с этим недугом были созданы вот эти модули, расширяющие функциональность стандартной оконной системы. К сожалению, они довольно старые, и не удовлетворяют концептуальным требованиям. Но используются почти в кажом нашем проекте.
ypkIntBrainfuck - интерпретатор брейнфака
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.ypkMathRandom - генератор псевдослучайных чисел.
ypkProxyCmds, ypkProxyHttp, ypkProxySOCKS4, ypkProxySOCKS5 - набор модулей по созданию сетевых подключений через прокси-серверы
ypkSysActions - расширенные отложенные действия, больше возможностей, по управлению.
ypkSysListeners - первая версия агентов много-агентной среды, взаимодействуют с шиной Abf.
ypkSysProgress - при работе фоновых процессов данный модуль выводит прогресс-бар, который позволит пользователю следить за состоянием процессов.