2016-07-04 9 views
0

デザイナー(ConfigurationBuilderと呼ぶ)と実行者(ConfigurationExecutorと呼ぶ)の2つのパート(2つの別個のアプリケーション)を持つアプリケーションがあります。c#条件に基づくメソッドへのアクセス

Managerクラスで構成され、上記のアプリケーションで共有されるクラスライブラリオブジェクトがあります。 ConfigurationBuilderでは、カスタムコードを実行してManagerクラスのメソッドを使用し、これらのメソッドはオブジェクトを作成します。 (シリアル化してDbTablesを作成する)

ConfigurationExecutorユーザーはManagerクラスのメソッドを消費し、これらのメソッドはテーブルに行を作成します。

ここで、ConfigurationExecutorとは異なるConfigurationBuilderでユーザーが使用するAPIを使用しないようにしたいと思います。

ベストプラクティスを共有していただきありがとうございます。

ありがとうございました。

+3

いくつかの種類の中で、これらのインタフェースを実装するあなたのマネージャークラスのインターフェイスで

class Manager() { Method1(); Method2(); Method3(); Method4(); } 

分割法でありますクラス図はおそらくここで助けになるでしょうか?これはそのままで読むのが非常に難しい – Liam

+2

この質問は私を混乱させます... APIを構築するということは、他の人も使うべきだということです。さらに、「内部」と「私的」について聞いたことがありますか? – lokusking

+0

ManagerクラスをBuildManagerとExecutionManagerに分割してみてはどうでしょうか? –

答えて

1

これを仮定 別の方法で2つのインターフェイスを作成しますが

IMethodsForConfigurationBuilder 
{ 
    Method1(); 
    Method2(); 
} 


IMethodsForConfigurationExecutor 
{ 
    Method3(); 
    Method4(); 
} 

がマネージャーに

Manager : IMethodsForConfigurationBuilder, IMethodsForConfigurationExecutor 
{ 
Method1(); 
Method2(); 
Method3(); 
Method4(); 
} 

// Now in your ConfigurationBuilder class 

{ IMethodsForConfigurationBuilder Manager = new Manager();} 

//and in your ConfigurationExecutor classs call 

IMethodsForConfigurationExecutor Manager = new Manager(); 
+0

これは良いアイデアのように見えます。私はテストして戻ってくるだろう。ありがとう。 – Tim

関連する問題