我有一个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() { }
我正在考虑在这里实现状态模式。我的每个状态类都将保存与它们相关的那些额外信息。我在这里实现状态模式的主要想法是不要在Request类本身中添加所有这些不相关的属性,例如:
public string ApprovedBy;
public string ApprovedComment;
public string RejectedBy;
public string RejectedComment;
public Mission Mission;
你认为状态模式是一个很好的选择吗?
问候,
莫什