Шаблоны проектирования - PullRequest
2 голосов
/ 25 апреля 2011

Я новичок в шаблонном способе кодирования и хотел бы начать реализацию шаблонов в моем коде. У меня есть веб-сервис, который имеет несколько операций и получает различные входные данные XML для каждой операции (имея свою собственную схему). Я хотел бы реализовать шаблон для проверки предоставленного ввода.

Мой дизайн: Есть интерфейс IValidate реализовать интерфейс для EntityAValidate, EntityBValidate и т.д .., каждый реализованный метод validate будет проверять правильность xml, а также проверять отдельные узлы, например, строка не может иметь специальных символов и т. д.,

Мои вопросы: Можем ли мы использовать любой другой дизайн? пожалуйста, дайте мне знать имя шаблона Как я могу использовать некоторые общие проверки, такие как проверка числовых данных, проверка даты в разных операциях Как автоматически выбрать соответствующий валидатор?

Ответы [ 2 ]

1 голос
/ 28 апреля 2011

Основываясь на этом утверждении «У меня есть веб-сервис, который имеет несколько операций и получает разные входные данные XML для каждой операции», шаблон команды, вероятно, подойдет.Это применимо в более общем смысле, однако, оно не должно быть специфичным для валидации.

Шаблон команды инкапсулирует каждую операцию как объект, каждая из которых является производной от общего базового класса (называемого классом Operation), который обеспечивает «execute»метод.Из каждой входящей xml-операции вы создаете экземпляр соответствующего подкласса Operation, передавая его некоторому объекту обработки операции, который вызывает execute.

Вы можете встроить в него свою проверку, добавив метод «validate» в вашу OperationБазовый класс.Затем процессор может «проверить» каждую операцию, прежде чем «выполнить» ее.

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

0 голосов
/ 28 апреля 2011

Я бы порекомендовал вам начать читать о DP, а затем познакомиться со многими из них. Таким образом, вы просто поймете, когда и какой из них подходит или нет ваши потребности. Шаблоны проектирования предназначены для использования в тех случаях, когда у вас есть особые потребности, а это означает, что «больше всего вы используете лучше» - очень плохой подход. Надеюсь, это поможет!

Я оставляю две рекомендации по литературе DP; Head First - Шаблоны проектирования и Элементы многоразового объектно-ориентированного программного обеспечения

...