我来自Java,而且我对C#很新,所以如果我没有使用正确的术语或者我正在考虑“java-ish”,请耐心等待。
我正在处理一个包(同一命名空间中的所有类),它提供了从几个远程服务中使用数据的外观。对于每个门面,都有一个接口(如IEventServiceGateway
)和一个实现(如EventServiceGateway
),都声明为public
。这些实现中的每一个都消耗来自至少一个服务的数据,所有这些都有点冗长,因此我为每个服务编写了一个客户端类(如UserServiceClient
),为所有实现提供了通用操作。因为包外的任何人都不应该使用它们,所以我宣称它们为internal
。此外,我对WCF代理做了同样的事情。
我有两个程序集,一个用于外观和客户端,一个用于单元测试,两者的命名空间是相同的。
所以我觉得我的设计要么被堵塞了,因为我完全误解了外墙的东西(只有外墙及其实施应该是可以访问的,没有别的),我的项目设置有缺陷或其他东西是错。
如果有人能够启发我,我将不胜感激。