Как слепить файл-мeнеджер?
Как слепить файл-менеджер?
(Запутался, попытка систематизировать задачу).
Дано:
- Шаблоны (Т4-шаблоны).
Несколько (много) ДЛЛок с шаблонами, в каждой - несколько (много) шаблонов.
Шаблоны не содержат (и абсолютно нет желания их там иметь) операций ввода/вывода.
Шаблон предоставляет относительное короткое имя файла (зависит от исходных данных) куда сбросить результат.
Шаблон может требовать записи результатов генерации в - несколько файлов (опционально), - в один файл, - не требовать записи в файл - определяется наличием имплементаций интерфейсов.
Шаблоны не содержат полных путей - для их определения используется Файловый менеджер.
Шаблоны имеют атрибуты, в которых ожидается информация для фильтрации шаблонов по применимости и порядку применения
- Атрибуты шаблонов.
Содержат статическую информацию об: применимости шаблонов, версии, приоритете.
- Исходные данные.
Исходная информация для генерации чего-то там шаблонами.
Много разного, в том числе информация об том, куда писать (более одного места) результаты генерации.
- Файловый менеджер.
Управление записью результатов генерации в файл.
Хранение путей к файлам,
функциональность построения полного имени файла.
функциональность перезаписи файлов.
- Генератор.
Обычный многопоточный исполнитель, не имеющий информации об том что именно обрабатывается. Т.е. не знающий структуру исходных данных, способ генерации и детали записи.
Из ДДЛок (сейчас их около 20-ти) однократно в список выбираются подходящие шаблоны, в структуру представления читаются исходные данные из файлов (почти 1000) и генератор выполняет [шаблоны] х [исходные данные] => [файлы]
Вроде с данными все.