我有一个asp.net WebForm项目,我想在几个项目中拆分逻辑:
我在解决方案中创建了3个项目。 -前端 -合同 &安培; -Backend
合同包括模型和合同接口。 后端实现了契约接口。
是否可以从前端调用Contract中的方法,而不知道实现接口的后端?
答案 0 :(得分: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
接口参数。