4

私の .NET アプリケーションでは、データ モデルはいくつかのクラス (Call、Phone、Connection) に含まれています。

タイプごとに、「管理」エンティティ (CallManager、PhoneManager など) があります。

各タイプは、後で実装を切り替えたり、テスト目的でいくつかのクラスをモックアウトしたりできるようにするために、インターフェイスを実装します。

public class CallManager : ICallManager
public class PhoneManager : IPhoneManager

最後に、「マスター」オブジェクトはこれらの各マネージャへの参照を持ち、それらを使用して必要なオブジェクト インスタンスを取得/更新します(たとえば、新しい Call オブジェクトを作成して CallManager に保存する、PhoneManager から電話オブジェクトを取得するなど)。 )。

このようなオブジェクトは、次の各タイプに依存します。

public class AppManager
{
    public AppManager(ICallManager callManager, IPhoneManager phoneManager, etc...)
}

さまざまなオブジェクト間の相互作用を容易にして、データを正しく維持し、更新するタスクを容易にする設計原則またはパターンはありますか?他のすべてのクラスに依存していますか?

4

2 に答える 2

4

基本的に、Mediator パターンを使用しているように聞こえます。ただし、Mediator は引き続きオブジェクト インスタンスにアクセスする必要があります。

http://en.wikipedia.org/wiki/Mediator_pattern

Factory パターンもすでに実装されているようですが、それを読んで何かインスピレーションが得られるかもしれません。

http://en.wikipedia.org/wiki/Factory_pattern

于 2012-06-07T21:16:28.957 に答える
2

使用を考えられるもう 1 つのオプションは、オブザーバー パターンです。これは、オブジェクト間のハードな相互接続を減らすのに役立ちます。オブジェクトを更新すると、イベントが発生し、変更された元のオブジェクトが認識していない一連のオブジェクトにこのイベントが通知されます。ここには、複雑な縦横無尽のコミュニケーションはありません。これらのオブジェクトの作成直後に必要なのは、オブジェクトの配線だけです。この記事も参照できます。

于 2012-06-08T11:48:17.127 に答える