[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: правила написания классов
krivarik
здравствуйте, я в ооп новичек и у меня вот такой впрос:
У меня есть класс проверки формы ввода со следующими полями,
1.название
2.Текст сообщения
3.Прикрепляемая картинка
4.краткое описание сообщения
5.время в минутах
Соответственно для каждого пункта свой метод.

В следующей форе не все эти пункты нужны будут и соответственно не все нужны методы или вообще такой клас больше непонкадобится.
Вопрос вот какой правильно будет пользоваться класом где не все методы будут задействованы?
bestxp
вообще немного другой подход тебе нужен

1 нужен класс который проверяет
2 на вход он получает массив с правилами
3 по правилам он проверяет

соотвественно у тебя валидатор не привязан к форме
набор правил регулируется для каждой проверки свой
повторное использование кода где надо без излишеств
krivarik
тогда на вход надо по отдельности вводить и данные с каждого поля формы
bestxp
не обязательно

ты сначало передаешь массив правил валидации, а потом что проверить
и не паришься если надо

krivarik
я так понял передать два масива, один с правилами, а другой с данными от формы и при помощи цикла выполнить проверку
bestxp
угу

например с тем что проверить

['field1' => 1111, 'name' => 'User name']

и то что проверять

['field' => 'numeric, required'], 'name' => ['username']];

Далее имеется набор фильтров

NumericRule
RequiredRule
UsernameRule

реализующие интерфейс
IValidationRule{

public function isValid($param, $inputData);

}


и например

class NumericRule implements IValidationRule{

public function isValid($param, $inputData){

return is_numeric($inputData[$param]);
}

}


выше везде псевдокод, он может не работать, сделать что бы понять к чему стремиться

Тут описан чисто ООП подход к валидации которая не привяза ни к чему
krivarik
спасибо
bestxp
соотвественно правила нужно разобрать) или описать как то по своемому) это только пример)
krivarik
Болшое спасибо за помощь о как-то забылся и второй вопрос. правильно будет использовать не все методы в классе при его применении
SlavaFr
Цитата (krivarik @ 29.08.2014 - 04:36)
правильно будет использовать не все методы в классе при его применении

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

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.