У меня есть класс Request , который может находиться в одном из следующих состояний:
Проект,
Отправлено,
Одобренный,
Отклонено,
InMission,
Завершена
Состояние объекта Request можно изменить, вызвав один из следующих методов. Каждый метод может содержать несколько аргументов для дальнейшей связи некоторых данных с определенным состоянием:
void Submit(string by) { }
void Approve(string by, string comment) { }
void Reject(string by, string comment) { }
void AddToMission(Mission mission) { }
void Complete() { }
Я думал о реализации здесь шаблона State . Каждый из моих классов состояния будет содержать дополнительную информацию, связанную с ними. Моя основная идея реализовать шаблон State здесь, чтобы не добавлять все эти не связанные свойства в сам класс Request , например:
public string ApprovedBy;
public string ApprovedComment;
public string RejectedBy;
public string RejectedComment;
public Mission Mission;
Как вы думаете, шаблон State является хорошим кандидатом для реализации здесь?
С уважением,
Мош