Цепочка обязанностей.

Обсуждаем, как правильно строить приложения
Ответить
Аватара пользователя
Chelobaka
Сообщения: 208
Зарегистрирован: 2018.06.01, 09:54

Цепочка обязанностей.

Сообщение Chelobaka »

Здравствуйте,

Имеет ли смысл делать проверку цепочкой обязанностей. Например проверка статуса статьи.
Проверка возможности получения статьей нового статуса.

Вместо:

Код: Выделить всё

if ($new_staus = Delete && $old_status = 'published' ) {
	throw new Error('published alredy');
}

if($new_status < $old_status) {
	throw new Error('reverse '); 
}
Цепочку:

Код: Выделить всё


$isPublished = new IsPublished();
$isReversed = new isReversed(isPublished);
$check = new $checStatus($new_status, $old_status);
$check-->isReversed-->isPublished-->end()

Аватара пользователя
ElisDN
Сообщения: 5536
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Цепочка обязанностей.

Сообщение ElisDN »

Для статусов удобнее State.

Аватара пользователя
samdark
Администратор
Сообщения: 9326
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Цепочка обязанностей.

Сообщение samdark »

В некоторых случаях имеет.

Ответить