Изменения

Перейти к: навигация, поиск

Vitaphoto: Ловушки

1085 байтов добавлено, 13:51, 6 декабря 2009
Нет описания правки
«''Hooks''», или «''ловушки''», или «''точки расширения''», или «''добавочные процедуры''» — » — специальные точки в коде, в которые можно встраивать вызовы дополнительных процедур без модификации кода вызывающего модуля. Таким образом достигается расширяемость приложения. Пример: [[mediawikiwiki:MediaWiki|MediaWiki]] широко использует механизм ловушек, что и привело к наличию примерно 1500 расширений для неё.
[[Vitaphoto]] 1.4 также будет содержать механизм «хуков»; в сочетании с простотой платформы [[Sway Solstice]], теоретически, это должно дать неплохую расширяемость.
Для чего нужны хуки в [[Vitaphoto]]? Например:
 
* Чтобы можно было сделать расширение «видео».
* Чтобы можно было заменить организацию галереи в виде множества фото на иерархическую, по названиям каталогов с файлами.
* Чтобы можно было создать дополнительную спецстраницу, выполняющую определённую функцию.
* Чтобы можно было добавить обработчик неизвестного пространства имён в ссылках.
 
Первые два примера в первую очередь содержат хуки в '''ScaleDaemon'''. Идеология следующая: вся информация о файле состоит из двух частей — имени и содержимого. '''ScaleDaemon''' отслеживает их изменения. Следовательно, нужно добавить хуки:
 
* <tt>ParseFileName</tt> — например, «взять путь из имени».
* <tt>ParseFileData</tt> — например, «взять EXIF-метаданные из имени».
* <tt>SaveFile</tt> — «сохранить EXIF в базу», «сохранить теги в базу».
* <tt>ScaleFile</tt> — предположительно «эксклюзивная» ловушка (то есть с ровно одним обработчиком) для масштабатора (:-D) изображений.
* <tt>DeleteFile</tt> — «удалить EXIF из базы» (хотя это можно поручить внешним ключам).
[[Категория:Разработка]]

Навигация