【发布时间】:2011-11-04 22:03:41
【问题描述】:
我对使用具体类和接口的影响有一些疑问。
-
说一些代码(称之为
chunkCode)使用具体类A。我是否必须重新编译chunkCode如果:- 我给
A添加了一些新的公共方法?如果是这样,那是不是有点奇怪?毕竟我还是提供了chunkCode所依赖的接口。 (或者我是否必须重新编译,因为 chunkCode 可能永远不会知道这是真的,而且我没有省略一些 API) - 我给
A添加了一些新的私有方法? - 我向
A添加了一个新的公共字段? - 我向
A添加了一个新的私有字段?
- 我给
工厂设计模式: 主代码不关心对象的具体类型是什么。它仅依赖于 API。但是,如果很少有方法只与一种具体类型相关,你会怎么做?这种类型实现了接口但增加了一些公共方法?您会在主代码中使用一些
if (A is type1)语句(或类似语句)吗?
感谢您的澄清
【问题讨论】:
-
您能添加一些示例代码吗?一般来说,如果一个接口没有改变,你就不需要重新编译,但是如果你正在处理具体的类,你就需要。
-
哈哈,大家都在编辑这篇文章。我更喜欢项目符号列表...
标签: oop design-patterns factory