所以,这里是问题:客户端特定库/插件的代码结构
我在我的应用程序中有一些逻辑,将根据客户端的基础上不同。什么是最好的方式来构建这个,以便它可以在没有任何代码更改的情况下进行配置。我已经添加了appsetting到配置,像这样:
<add key="MyCalculationType" value="MyApp.Client1.Calculation,MyApp.Client1" />
在我的核心业务逻辑:
ICalculation abcCalculation = CalculationFactory.GetManager(); // Uses appsetting to get type
abcCalculation.Calculate(this);
我添加了一个名为MyApp.Client1新的项目,我想包含客户端计算的具体实现。
namespace MyApp.Client1
{
public class Calculation : ICalculation
{
public void Calculate(Order o)
{
// Calculate properties of order
}
}
}
我还没说完呢,所以我不能提供任何输出。在这个阶段,我想知道,在我进一步讨论之前,是否有更好的方法来达到我想要的目标。我不确定的一件事是把ICalculation接口放在哪里。我认为我拥有它的方式可能会导致循环引用错误。
非常感谢
编辑
正如我嫌,ICalculation接口阻止我构建。虽然没有循环引用错误;与“无法解析符号”错误。
试试这个,让你知道它是如何发生的。 – Kev