我对使用具体类和接口的影响有一些疑问。OO原则:c#:设计为接口而不是具体类
说的代码(称之为
chunkCode
)一些大块使用具体类A
。我是否需要重新编译chunkCode
如果:- 我在
A
中添加了一些新的公共方法?如果是这样,那是不是有点道理?毕竟我仍然提供接口chunkCode
依靠。 (或者我必须重新编译,因为chunkCode可能永远不会知道这是真的,我没有省略一些API) - 我添加一些新的私有方法到
A
? - 我为
A
添加了一个新的公共字段? - 我添加一个新的私人领域
A
?
- 我在
工厂设计模式: 主代码并不在乎对象的具体类型是什么。它仅依赖于API。但是如果只有几种方法只与一种具体类型相关,你会怎么做?这种类型实现了接口,但增加了更多的公共方法?你会使用一些
if (A is type1)
语句(或类似的)的主要代码?
感谢任何澄清
你可以添加一些示例代码?一般来说,如果一个接口没有改变,你将不需要重新编译,但是如果你正在对付具体的类,你会的。 – davecoulter
哈,大家都在编辑这篇文章。我更喜欢项目列表... – celavek