次のいずれかの状態になる可能性のある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パターンはここで実装するのに適した候補だと思いますか?
よろしく、
モッシュ