0

C# を使用したクライアント/サーバー アプリケーションがあります。

私の設計では、クライアントは、C# のクラスとメソッドを通じてサーバーでサポートされているデータのフィルター処理と収集をサーバーに要求します。

リクエストを受信し、データをクライアントに返す単一のサーバー接続があります。そのために、クライアントはオブジェクト、メソッド、およびパラメーターを要求します。

したがって、クライアントは次のようなリクエストを行います。

GetData (MyClass, MyMethod, MyParams[]);

サーバーで現在動的メソッド呼び出しを使用しています。

        Type type = System.Type.GetType(MyClass);
        object instance = System.Activator.CreateInstance(type);
        MethodInfo method = type.GetMethod(MyMethod);
        object[] parameters = new object[] { MyParams[] };
        var data = method.Invoke(instance, parameters); 

        ... data checking, filtering and returning to client...

いくつかの異なるオブジェクトとメソッドがあり、それぞれに異なるチェックとフィルタリングがあるという問題があります。動的オブジェクトは Intellisense をサポートしていないため、データの後でコードをチェックするのは非常に面倒で、サポートするのも理解するのも困難です。

Intellisenseサポート(既知のタイプ)でデータを取得できる別のアプローチが必要です。それは私の人生をより簡単にし、コードをより明確にします. 反対に、さまざまな組み合わせで何十もの GetData 呼び出しを構築することはありません。

オブジェクト ファクトリを構築することを考えていますが、ここでどのようなパターンが最適かはわかりません。ここで使用するのに適したパターンがあると確信していますが、問題の解決策がわかりません...

どんな助けでも大歓迎です。

4

1 に答える 1