У нас подход практически идентичен тому, который описывает sukhanchik
check* методы проверяют конкретные небольшие бизнес-правила, а validate проверяют процессы. При этом validate вызывают check*.
Сами check, как правило, выводят сообщения при отклонениях от допустимых значений. Но, часто в check* есть параметр для работы "втихую" - используется когда проверка бизнес-правила и, например, доступности кнопок в интерфейсе близкая и может использоваться и для "засеривания" кнопок и для проверки при выполнении.
Ну а для случаев, когда не нужны сообщения, предпочитаем называть методы не check*, а как-то по другому - is*, has* и т. п.
Естественно, check* не обязательно вызываются из validate*.
|