下面是对《Java 编程思想》一书的思维导图总结,可以算作是「把书读薄」的过程,当然还是需要多多实践。下面思维导图的下载地址:https://github.com/LjyYano/Thinking_in_Java_MindMapping
“真实世界”在很大程度上是不知不觉地基于群体的语言习惯形成的。
如同任何人类语言一样,Java提供了一种表达概念的方式。如果使用得当,随着问题变得更庞大更复杂,这种表达工具将会比别的可供选择的语言更为简单、灵活。
当你开始设计一个系统时,应该认识到程序开发是一种增量过程,犹如人类的学习一样,这一点很重要。程序开发依赖于实验,你可以尽己所能去分析,但当你开始执行一个项目时,你仍然无法知道所有的答案。如果将项目视作是一种有机的、进化着的生命体去培养,而不是打算像盖摩天大楼一样快速见效,就会获得更多的成功和更迅速的回馈。
为了在自己的程序中有效运用多态乃至面向对象的技术,必须扩展自己的编程视野,使其不仅包括个别类的成员和信息,而且还要包括类与类之间的共同特性以及它们之间的关系。尽管这需要极大的努力,但是这样做是非常值得的,因为它可以带来更多成效:更快的程序开发过程、更好的代码组织、更好扩展的程序以及更容易维护的代码。
任何抽象性都应该是因真正的需求而产生的。当必需时,你应该重构接口而不是到处添加额外级别的间接性,并由此带来的额外的复杂性。这种额外的复杂性非常显著,如果你让某人去处理这种复杂性,只是因为你意识到由于以防万一而添加了新接口,而没有其他更有说服力的原因,那么就该质疑此人所作的所有设计了。
恰当的原则应当是优先选择类而不是接口。从类开始,如果接口的必需性变得非常明确,那么就进行重构。接口是一种重要的工具,但是容易被滥用。
不要太早地关注程序的效率问题,这是个诱人的陷阱。最好先让程序运作起来,然后再考虑它的速度。
coding 笔记、点滴记录,以后的文章也会同步到公众号(Coding Insight)中,希望大家关注^_^
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。