问题一:为一个子系统定义接口,然后其它子系统通过接口来进行访问该子系统。这时其它子系统就要“调用”“该系统的接口”,怎么个调用法,通过实现接口中的方法???IProduct server = Services.Load<IProduct>();依赖注入,
解决方案 »
- PS3固件解包工具C转C#版,欢迎共同讨论指正
- 有谁知道工资的公式自定义的验证跟速达一样能做到定位准确
- 关于WebClient下载网页内容的问题
- 关于继承方面的问题,小弟我刚刚接触不是太懂!请多多指教!
- 散分……关于控件继承
- xml档转成文字档
- winform里面的datagrid如何添加一个checkbox?(和以前的都不同,没有数据源)
- 拼了!最后20分!FTP程序中客户端如何得到服务器上的文件大小?
- 怎样将一个double类型的数据转换成一个百分数?
- GDI+ 中发生一般性错误。
- 是不是抽象出基类或者是接口,怎样抽象才算合理
- c# 操作XML 空节点全部自动换行了请问怎么解决空节点换行问题
接口只包含方法、属性、事件或索引器的签名
就是说可以有属性的签名
如:
interface IPoint
{
// Property signatures:
int x
{
get;
set;
} int y
{
get;
set;
}
}
3. 你的问题有点混沌。我想你一味地从编程出的发,缺乏从测试出发的视角。不论是产品设计,还是开发规划,还是质量管理,等等都是落实在测试上。产品设计者不需要面面俱到,但是它的设计文档要恰好可以落实到测试上即可。开发时,假设一个子系统接口的实现需要3天时间,然后我们留出2天时间富余量,那么应该怎样分配时间?可能需要用半天时间定义好接口以及测试程序,然后用4天时间执行开发工作,并且用4天半时间执行测试工作,即开发过程中随时要用接口来测试和指导开发工作,开发的目的只是为了让测试可以通过,做更多的工作是多余的、有害的。接口起到了让测试可以在开发之前启动的作用。至于你说的什么“抽象类、基类”什么的,我不回答你。此时不用纠结这些,甚至我们没有必要对接口必须是什么具体形式作出规定。首先应该强调的是工程化开发方法的流程,如果抓住实现这个关键环节,那么就反而可以“放开”那些细枝末节的什么接口形式随便去发挥。
4. 实际上你应该更多从测试角度去考虑。假设你希望,比如说“住院部病人”对象可以放入“病人的报销流程”的所有测试中,同时把“门诊病人”也可以带入所有的病人报销流程的测试中,不应该抛出任何异常,这时候你就自然会考虑抽象问题。如果你为了抽象而抽象、为了复用而复用,比如说仅仅因为出差人员也有报销动作于是把出差人员都当作病人来建模,那么可能张冠李戴而产生严重的测试bug。