Основываясь на этом утверждении «У меня есть веб-сервис, который имеет несколько операций и получает разные входные данные XML для каждой операции», шаблон команды, вероятно, подойдет.Это применимо в более общем смысле, однако, оно не должно быть специфичным для валидации.
Шаблон команды инкапсулирует каждую операцию как объект, каждая из которых является производной от общего базового класса (называемого классом Operation), который обеспечивает «execute»метод.Из каждой входящей xml-операции вы создаете экземпляр соответствующего подкласса Operation, передавая его некоторому объекту обработки операции, который вызывает execute.
Вы можете встроить в него свою проверку, добавив метод «validate» в вашу OperationБазовый класс.Затем процессор может «проверить» каждую операцию, прежде чем «выполнить» ее.
В общем, я согласен с комментаторами в вашем посте.Вы должны сами изучить шаблоны проектирования, тогда они будут появляться на вас при решении проблем.Не выбирайте шаблон и не пытайтесь втиснуть его в существующий дизайн.