Я видел это как Шаблон команды .
Впервые я узнал об этом, прочитав Agile Принципы, Шаблоны и Практики в C # .
Я верю, что его элегантность - это простота. Я использовал его, когда написал сервис обработки файлов. Сервис выполняет все функции администрирования чтения / удаления файлов. Когда файл нужно было обработать, был загружен соответствующий плагин. Каждый плагин реализовал метод Process
и делал все необходимое для обработки файлов такого типа. (В основном, разобрать содержимое и вставить в базу данных.)
Каждый раз, когда мне приходилось обрабатывать новый тип файла с новым макетом, все, что мне нужно было сделать, это создать новый плагин, который реализовал Process
.
Это сработало для меня, потому что мне нужно было простое решение. Если вам нужно принять более одного параметра, вероятно, это не тот шаблон, который нужно использовать.