我是从C++转过来的。
以前定义一个项目通用文件(通常是协议,接口之类的),通常定义一个.H文件大家都引用。
现在做C#,感觉单独定义一个.cs文件就很怪,但是为了这个接口文档单独定义一个项目更奇怪。
想询问一下大家在遇到这种情况的时候都是怎么处理的?
是单独定义。
首先你要明白接口,为什么使用接口呢?
1、接口是用来定义功能的,定义通用的功能。
2、针对接口编程,不要针对实现编程。是为了隔离变化,对外隔离实现的细节。
比如说一个模块需要向外部提供功能,这时候我们就将功能定义一个接口,然后外部添加接口,通过接口调用这个模块的功能,外部不关心模块内部如何实现。
根据 FxCop 以及 StyleCop 规范,C# 的一个 cs 文件只定义一个类型,比如接口,类,结构,委托,枚举等。所以,任何接口类型,应该放在一个单独的 cs 文件中进行定义。 Mark Zhou
我的意思是
接口当然是单独放在一个文件中。但是这个文件是两个项目都要用的。
比如Server和Client。
那么是把这个cs文件放在两个项目中,还是单独定义一个项目,包含这个cs文件,两个项目分别引用?
放在一个单独的项目,也是为了屏蔽实现的细节,还可以针对这个项目写自动化测试