不识庐山真面目 只缘身在此山中 - 一个Java开发人员的视角
2011-01-07
1. 不惜一切代价消灭单一继承。
“继承不重要,封装才是面向对象的持久的贡献。” 封装就是模块化。对于一个大的系统,分而治之是必须的。模块化也降低了系统的维护成本。对于继承,可用包含和聚合来代替。当然这句话也有点过了,继承还是有用的,只是不要滥用。当有很显然的父子关系时,用继承很舒服,但是这种情况其实不多。
假如继承不重要,多态也就不存在了。
对于Javascript+html,缺少的其实是封装。
@11 ch. Objective-C
2. 动态语言的缺点
“Java程序员现在可以使用IDE,对于‘这个方法的调用者在哪里?”,或者’这个变量分配到何处?(应该是变量的使用范围)’这类问题,它能很快给出答案。对于大型Python程序,这个也很有用,不过由于Python本质上的动态性,因此,要进行必要的静态分析会更加困难。”
这里的IDE应该就是eclipse。看来Python之父对Java环境也很熟悉。这些静态分析对于调试和理解大的系统有很大帮助。
@2 ch, Python
.............