だからここに問題があります:
私のアプリケーションには、クライアントごとに異なるロジックがいくつかあります。コードを変更せずに構成できるように、これを構造化する最善の方法は何ですか。次のように、構成に appsetting を既に追加しています。
<add key="MyCalculationType" value="MyApp.Client1.Calculation,MyApp.Client1" />
私のコアビジネスロジックでは:
ICalculation abcCalculation = CalculationFactory.GetManager(); // Uses appsetting to get type
abcCalculation.Calculate(this);
クライアント固有の Calculate の実装を含めるために、MyApp.Client1 という名前の新しいプロジェクトを追加しました。
namespace MyApp.Client1
{
public class Calculation : ICalculation
{
public void Calculate(Order o)
{
// Calculate properties of order
}
}
}
まだ完成していないので、出力を提供することはできません。この段階で、先に進む前に、私がしようとしていることを達成するためのより良い方法があるかどうかを知りたい. 確かにわからないことの 1 つは、ICalculation インターフェイスを配置する場所です。私のやり方では、循環参照エラーが発生する可能性があると思います。
どうもありがとう
編集
私が疑ったように、ICalculation インターフェイスがビルドを妨げています。循環参照エラーではありませんが。「シンボルを解決できません」というエラーが表示されます。