是否有任何书籍可以解释Suns / Oracle在类层次结构背后的逻辑?

时间:2012-03-13 14:21:22

标签: java design-patterns

Java背后有大量的设计理念,初学者很难学习/理解。

像rarsters,colormodels,BufferedImage vs Image这样的东西,所有这些都是间接操纵的。大多数初学者很难理解Java书籍介绍的类层次结构背后的设计理论。

有没有人可以推荐的书籍来更好地理解这个?

1 个答案:

答案 0 :(得分:1)

将Java中的任务学习编程分为两部分,因为它是一个中的两个任务。

  • 获得一本关于学习面向对象设计原理的好书,最好不要专注于特定语言的细节。

有关于面向对象设计的好书,但它们都是来自Cunningham& C的this excellent resource的详细处理。坎宁安。原则很简单,但遵循它们将改变解决编程问题的方法。当你重新认识到这一点时,你可能是thinking object-oriented。请记住,面向对象编程是通过对问题建模而获得的解决方案。

确保您的模型不会偏离“现实世界”的要求,learn about test-driven developmentand use it。如果您忽略大多数其他建议,请遵循此建议。设置自动化单元测试,让你的构建链运行它们,以及编写测试的初始投资在你手头有任务时可能看起来很陡;但是,测试确保您的软件继续工作(至少以您测试的方式)。软件很脆弱,容易出现“远距离行动”的故障情况。您的测试可以精确定位故障,因此您可以将更多时间用于编码,并减少调试时间。

  • 获得一本关于您正在使用的编程语言的好书。

最初避免学习图书馆,专注于语言的结构。获得语法,运算符优先级,数据类型,类层次结构后,然后深入研究java.langjava.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>

请记住,通过在问题上抛出一堆模式,您无法创建一个好的解决方案。如果你过度应用已知的模式,你可能会陷入混乱状态,就好像你没有用常用模式解决已知障碍一样。