2

我有一个 asp.net WebForm 项目,我想在几个项目中拆分逻辑:

我在解决方案中创建了 3 个项目。-前端 -合同和 -后端

合约由模型和合约接口组成。后端实现来自 Contract 的接口。

是否可以在不知道实现接口的后端的情况下从前端调用合同中的方法?

4

1 回答 1

6

你的意思是这样吗?

public interface IContract { void Method(); }

public class Backend : IContract { public void Method() {} }

public class Frontend
{
    public IContract Contract { get; set; }

    public Frontend(IContract contract)
    {
        Contract = contract;
    }

    public void DoSomething()
    {
        Contract.Method();
    }
}

在您的初始化程序中,Frontend您可以new Backend()显式传入,也可以使用依赖注入框架让IContract接口参数从定义的配置中自动解析。

于 2013-10-29T15:11:09.733 回答