将方法作为委托传递给引用的模块

时间:2014-12-05 11:32:41

标签: c# .net visual-studio asp.net-web-api architecture

我的 App.Api 项目在Visual Studio中有一个 AppService 项目作为参考,如下图所示。 App.Api可以访问AppService类和方法,但AppService无法访问Api.Api类和方法。它们都构建在单独的DLL文件中。

Reference

我在App.Api中有一个静态方法,我需要在AppService模块中调用它。我能够将其作为代理传递给AppService,并且它运行良好。该方法的实现需要放在App.Api中,其他原因太长,无法在此解释。

这种解决方案是否会出现问题?这甚至是在建筑上做事的适当方式吗?

2 个答案:

答案 0 :(得分:0)

另一种选择是使用Observer Design Pattern。 AppService中的App.api subscribes,如果需要,它将notify App.api。

答案 1 :(得分:0)

这表示循环参考和设计缺陷的问题。 您需要介体在这两个层之间进行通信,或者需要抽象,这将由两个层共享。