T_Im писал(а):vdemidov
Разве так много форматов кэша, чтобы выносить их в плагины?
Почему не проще добавить Беркли/SQL в ядро программы, ведь подавляющему большинству пользователей абсолютно всеравно в каком формате БД хранить кэш, только бы избавиться от мелких тайлов.
Ну плагины нужны мне хотя бы для того, что бы можно было писать куски кода не на Delphi, а на С++. Например, для БерклиДБ я не нашел готовых библиотек под Delphi. Да и вообще модульность штука полезная.
И потом, плагин-API будет не только для форматов кеша, но и для всего остального. Я уже сейчас, навскидку, могу придумать больше десятка типов плагинов (Разные импорт, экспорт, привязка, более интеллектуальный генератор урлов для тех же Яндекс.Пробок, и тд. и тп.)
И поймите еще одну вещь. То что я сейчас делаю, с плагинами связано очень косвенно. Это просто рефакторинг кода. Его надо делать безотносительно к тому как реализовывать плагины. А вот после того как код будет более-менее приведен в порядок можно будет думать и о плагинах.
В случае плагинов в DLL мне для вынесения какой-то фичи в плагин практически не нужно никаких телодвижений. Просто определенный объект с заданным интерфейсом начинает создаваться не при помощи конструктора Create, а при помощи PluginAPI. Главное что бы этот функционал уже был выделен в отдельный объект.