лучший шаблон проектирования для проверки данных / нескольких условий - PullRequest
4 голосов
/ 14 июля 2010

Привет, какой шаблон проектирования лучше всего использовать для сценария проверки данных, когда множество значений передается в функцию, и все должны быть проверены на правильность формата и длины и т. Д. В настоящее время я использую несколько операторов if но это кажется очень грязным.

Ответы [ 3 ]

1 голос
/ 14 июля 2010

Ну, это зависит от текущего состояния вашего кода.

Я бы попробовал следовать этому:

1) попытаться извлечь аналогичный проверочный код и, возможно, упаковать его как отдельные функции / служебные модули и т. Д., Просто вызовите функцию для проверки, не помещайте проверочный код в проверяющий

2) при этом вы сможете создать главный валидатор в виде набора валидаторов, подэтапов проверки пакета в классах действий и создать большой валидатор, который запустит все эти маленькие шаги и завершится неудачно, если одна из подзадач завершается неудачно (но сначала оцените, не является ли это избыточным в вашем случае, может быть быстрее просто завершить рефакторинг здесь, если ваша проверка не так сложна)

3) затем с этим шаблоном, если ваша логика проверки часто меняется, вы можете попытаться поместить конфигурацию композита за пределы кода. ЕСЛИ у вас есть доступ к инструментарию инверсии управления, например, Spring Framework, вы можете создать свой композит из конфигурации XML, а не из кода. Это имеет преимущество, так как изменение требований к проверке не требует перестройки проекта для внесения изменений, и он отделил бизнес-логику от кода.

1 голос
/ 14 июля 2010

Посмотрите на образец спецификации. Он вписывается в Domain Driven Design и имеет довольно простую концепцию.

Надеюсь, это поможет.

Брендан

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

Вы можете попробовать шаблон проектирования стратегии

...