论坛首页 综合技术论坛

Martin Fowler最近的两篇Blog,推荐阅读

浏览 7382 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-10-26  
charon 写道
网上有个评论很经典,老马不应该拿一个具体类和一个接口去比较。
要比较,就去和LinkedList比,这个实现了6/7个接口,实现的方法数目不比ruby的那个少,所谓的first/last也都有。
学了ruby之后,看java代码的时候不带有色眼镜,也把ducking type的那一套套到java代码上去,比如一个LinkedList就提供了一个隐含的ILinkedList接口,那就一切ok乐。
记得有个C#大佬死命的推荐具体类,建议除非特殊情况,只要能够用具体类的地方,都不要搞出一个接口来. 其实也非常贴合ducking type的思想精髓,在java/C#中,interface实际上是显式的接口,看着不顺眼就不用,直接使用依着于具体类的隐式接口吧。好处是,显式接口一旦发布,修改是很忌讳的,而具体类的公共方法就没有这个心理负担,虽然实质上是一回事情。
不过这些都是TDD/测试先行带来的间接效果,没有这个前提,别的都是白扯.

切中要害。我觉得老马是忽略了接口也有语义这个背景,所以才自己忽悠了自己。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics