いくつかの動作コードを抽象化する必要があり、これらの動作を呼び出しているクラス内のオブジェクトを参照しようとすると問題が発生します。説明してみましょう。
私の「親」クラスには、 CurrentPageというプロパティがあります。また、 CurrentPageプロパティを変更する動作ロジックもいくつかあります。現在、これは同じクラスで記述されています。私は今、多くの場所でその動作を再利用する必要があるので、それをカプセル化/抽象化して別の...ええと...クラスにしますか??
自分のニーズに合ったデザイン パターンがおそらくあると感じていますが、どれを使用すればよいかわかりません。
誰か助けてくれませんか??
ありがとう、マーク
(私は C#、Silverlight、および MVVM を使用しています。CurrentPageはフィールドではなく通知プロパティであるため、 Ref型として Behavior サブクラスに渡すことはできません)
更新: 要求に応じて追加された例:
class MainApp
{
public static string CurrentPage { get; set; }
/// <summary>
/// Entry point into console application.
/// </summary>
static void Main()
{
CurrentPage = "Default value";
Console.WriteLine(CurrentPage);
DoWork();
Console.WriteLine(CurrentPage);
Console.ReadLine();
}
private static void DoWork()
{
CurrentPage = "A new page";
}
}
DoWork() を別のクラスに抽出しようとしています。