Java背后有大量的设计理念,初学者很难学习/理解。
像rarsters,colormodels,BufferedImage vs Image这样的东西,所有这些都是间接操纵的。大多数初学者很难理解Java书籍介绍的类层次结构背后的设计理论。
有没有人可以推荐的书籍来更好地理解这个?
答案 0 :(得分:1)
将Java中的任务学习编程分为两部分,因为它是一个中的两个任务。
有关于面向对象设计的好书,但它们都是来自Cunningham& C的this excellent resource的详细处理。坎宁安。原则很简单,但遵循它们将改变解决编程问题的方法。当你重新认识到这一点时,你可能是thinking object-oriented。请记住,面向对象编程是通过对问题建模而获得的解决方案。
确保您的模型不会偏离“现实世界”的要求,learn about test-driven development,and use it。如果您忽略大多数其他建议,请遵循此建议。设置自动化单元测试,让你的构建链运行它们,以及编写测试的初始投资在你手头有任务时可能看起来很陡;但是,测试确保您的软件继续工作(至少以您测试的方式)。软件很脆弱,容易出现“远距离行动”的故障情况。您的测试可以精确定位故障,因此您可以将更多时间用于编码,并减少调试时间。
最初避免学习图书馆,专注于语言的结构。获得语法,运算符优先级,数据类型,类层次结构后,然后深入研究java.lang
和java.util
中明显有用的类。当我需要时间表时,请轻松学习其余的图书馆。
Oracle's (formerly SUN's) online tutorial for Java is unusually good。如果您更喜欢一本书,我会阅读O'Reilly的“Learning Java”。我被告知其他书籍没有我喜欢干燥的吐司阅读材料。
我还没有找到一本非常出色的书籍,非常适合设计和语言主题。好像焦点的差异太宽了。
就设计模式而言,获得一本参考书,可能还有一本学习书。
参考书应该是Erich Gamma,Richard Helm,Ralph Johnson和John Vlissides的“设计模式:可重复使用的面向对象软件的元素”。阅读一次,然后将其作为参考使用。
“设计模式”中的示例在您已经具备使用模式的技巧之后会好得多;为了更好地了解何时,如何以及为何使用它们,我发现Alan Shalloway的“设计模式解释:面向对象设计的新视角”是使“设计模式”更容易获取的桥梁。 / p>
请记住,通过在问题上抛出一堆模式,您无法创建一个好的解决方案。如果你过度应用已知的模式,你可能会陷入混乱状态,就好像你没有用常用模式解决已知障碍一样。