Как написать надежное, настраиваемое приложение для выполнения задач над файлами? - PullRequest
2 голосов
/ 16 января 2012

Я хочу написать программу, которая будет рекурсивно запускаться через заданный входной каталог и выполнять предопределенные задачи, с которыми он сталкивается. Я хочу, чтобы оно было надежным, чтобы я мог разрабатывать приложение и не нуждаться в основном коде, если я хочу добавить другое поведение в будущем.

На мой взгляд, каждое выполняемое задание должно быть реализовано в классе, и, например, должны быть классы сопоставления файла конфигурации с типами файлов.

У меня есть представление о том, как это реализовать, но я не могу полностью превратить его в решение.

Должно ли это быть сделано с помощью внедрения зависимости? И если да, то какие простые DI-фреймворки подходят для этого?

Или, может быть, это нужно сделать, просто прочитав файл конфигурации и загрузив классы, которые там определены?

1 Ответ

0 голосов
/ 10 апреля 2012

В зависимости от сложности, вы можете взглянуть на http://static.springsource.org/spring-batch/

Если вам нужен более простой подход, вы можете представить «командный» интерфейс, который будет реализован всеми вашими классами обработки, и некоторый класс фабрики, который будет создавать эти реализации на основе вашего отображения.
Таким образом, вы будете работать в основном с интерфейсом, вызывая фабрику для каждого файла, а затем вызывая метод "процесс".
Добавление новых задач должно быть таким же простым, как создание новой реализации интерфейса и добавление его в файл сопоставления.

Приветствия

...