在软件设计中,这种类型的交互是仅用接口描述的吗?如果是的话,我应该总是使用这种方法吗?
我必须设计应该具有高可测试性的类库(我使用C#)。
这个库有一个 facade 和一些在后台有不同交互的类。
在优化这个库以获得良好的可测试性的情况下,我用接口替换了大部分类。
当我这样做时,我在连接图(Visual Studio类图)中只看到了接口。
我的问题是否正常?还是应该有另一种方法?
P / S:也许它在软件设计中是众所周知的方式,但我在书中找不到一些确认。
答案 0 :(得分:6)
是的,这是一种很好的做法。它允许您关注每个类的职责,而无需关注实现细节。它允许您查看方法调用堆栈,正如您所说,它提供了高级别的可测试性和可维护性。就我所见,你走在正确的轨道上:)。
答案 1 :(得分:2)
答案 2 :(得分:0)
通过使用接口,您可以将应用程序分解为子系统,以使其易于维护和扩展。一些用例可以是:
应用程序可能需要通信多个Web服务端点,才能完成相同的功能,例如来自不同提供商的直接账单或付款接口
数据访问层类,用于通过不同的驱动程序对不同的数据库执行SQL。
使用相同队列中的相同线程池处理实现相同接口的不同对象