私はプロセスワークアイテムで作業しているアプリケーションです。作業項目の状態に応じて、いくつかのアクションが利用可能です。デザインパターンをお薦めします。
public interface IActionProvider{
public void Complete(WorkItem workItem);
public void Cancel (WorkItem workItem);
public void Reassign(WorkItem workItem);
}
その後の他の詳細に基づいて...
私は現在、次のようになりますインターフェイスを持って行動するための機能を提供するために...など「再割り当て」「キャンセル」「完了」作業項目私はインターフェイスの具体的な実装を持っています。ただ、例...public class NormalActionProvider :IActionProvider
{
...
}
と
public class UrgentActionProvider : IActionProvider
{
....
}
のための問題は、私は新しいアクション、と言う...「委任」を追加したい場合は、私はもちろんのインタフェースを更新する必要があり、すべての実装に影響を与えます。
これはオープン/クローズの原則に違反していますか?ここで私を助けるかもしれないデザインパターンやリファクタをお勧めできますか?