У меня есть объект, который представляет некоторый документ, хранящийся в реляционной базе данных (отображение O / R).Этот документ имеет поле состояния, которое определяет его состояние.Каждый статус (т. Е. Запись, ожидание подтверждения, отправка, оплата и т. Д.) Имеет свои собственные правила и требования проверки.
Мне интересно, какова правильная ОО реализация такого рабочего процесса.Самый простой способ сделать это - поместить несколько операторов if, таких как
if (status == что-то || status == что-то еще), чтобы проверить, можно ли изменить дату ();
но в сложном сценарии это становится чрезвычайно трудно читать.
Предложения для хорошего дизайна?