我有以下问题:
在包A(一个单独的dll)中,我有ClassA。
在Facade(另一个单独的dll)中,我有一个方法public IEnumerable GetAll(){}。
在Web应用程序中,我调用了Facade.GetAll(),但为了获得IEnumerable,我需要引用Facade和包A。
我想知道是否可以仅引用Facade并同时获取IEnumerable(用于在Facade中为ClassA构建接口或者 类似的东西)?
否则,如果我引用两个dll,我可以从ClassA调用GetAll()(理论上或错误地)。但最初的想法是通过外观与业务类进行通信,因此像网站这样的最终应用程序不会知道业务类的存在吗?
答案 0 :(得分:0)
此问题的一般方法是使用包含共享的接口的包 1.您的实施(ClassA) 2.您的门面(或代理人或您拥有的任何替代品) 3.使用它的应用程序或类。
这样你就永远不会最终使用错误的实现。而且你更加独立于具体的课程。