【问题标题】:How to learn designing applications in Java [closed]如何学习用 Java 设计应用程序 [关闭]
【发布时间】:2009-12-22 08:45:41
【问题描述】:

过去 2 年我一直在使用 Java 进行编程,现在我想进入设计应用程序。到目前为止,我只喜欢编码,即;我得到了设计文档/类图等,并被要求编码。现在我想学习如何设计,我的意思是我想了解什么时候一个类应该是接口而不是一个具体的类,根据需求、设计技术和设计的所有其他方面提出设计。

要了解所有这些,请您推荐任何系列的文章/书籍等。

我曾尝试阅读 Headfirst Design Patterns,但即使我能够掌握一些设计模式,我仍然无法独自进行设计应用。

请帮忙。

【问题讨论】:

  • 嗨....您是新手,所以只是一个建议...如果您喜欢任何答案,请不要忘记接受它。它鼓励其他人回答你。只需检查您最喜欢的答案下方的“复选标记”即可。 :-)

标签: java oop


【解决方案1】:

设计模式是基于诸如关注点分离、连贯性和可扩展性等基本原则构建的设计特性的高级示例。如果您正处于想了解接口和类的阶段,您可能需要阅读一些基本的 OO 思想。例如阅读SOLID 原则。所以我不会先买书,我会从那篇文章开始,然后从那里点击链接和谷歌。

那么,读书还不够,还需要做。

下次获得规范时,请研究一下。了解正在解决的问题,然后回家自己设计。将您的尝试与规范进行比较。或者考虑给定规范的替代方案,假设您在这里没有接口,或者那里没有工厂,为什么这很重要?

理想情况下,如果你的领导者开始给你一些不太具体的问题并允许你设计它们,你的成长就会得到促进。项目压力可能会阻止这一点。在这种情况下,我认为您需要在自己的时间里完成工作。挑选一些小项目并着手进行。除非你有导师,否则这可能会很困难,但我认为不做阅读不会让你进步得这么快。

【讨论】:

  • +1 建议通过思想实验理解现有规范。并且不要忘记,如果您确实考虑过一段时间并且不明白为什么会这样做,您应该可以询问您的同事。只要您不是每隔一小时左右就纠缠他们,并且他们可以看到您正在努力学习,我相信他们会很乐意帮助您理解。
【解决方案2】:

这是一个常见的问题,我不怪你问这个问题!这是我们都在思考的事情。您可能会发现这个问题以及相关的答案很有用: Learning/Implementing Design Patterns (For Newbies)

【讨论】:

    【解决方案3】:

    您可以阅读 Josh Bloch 的 Effective Java。

    设计模式很好,一定要阅读它们,但知道何时使用它们才是真正的技能。大多数情况下,您需要自己动手。

    一个平庸的编码员将被分配一项任务,敲击键盘直到他们有工作的东西,然后继续前进。有时只是让某些东西工作是正确的做法,但通常像这样的编码员会留下一大堆可怕的代码。

    您可以从更学术的方法中学到很多东西。写一些代码,让它工作,然后改进它。从头开始重写它,重用你第一次编写它时所学的内容。花额外的时间来看看您可以在代码的各个方面改进哪些方面:速度、内存、算法、设计模式,甚至是您的编码风格。

    【讨论】:

      【解决方案4】:

      首先试试这个:

      1. 阅读有关 1 种设计模式的段落(如书中所列)。
      2. 尝试了解它解决的问题。
      3. 想象一下这个问题的一些任务。
      4. 编码。
      5. 在一张纸上绘制程序的类图(不使用自动化工具)。

      每天一个模式将是一个非常好的速度。

      【讨论】:

        【解决方案5】:

        改进的唯一方法是阅读设计模式,尝试一些东西,从错误中学习,并从已经有一些经验的人那里获得建议。另一件事是你也应该知道什么时候不使用模式。有时我们忽略了设计模式,这会破坏项目。

        【讨论】:

          【解决方案6】:

          我同意 Ben 的观点,并且想添加我的 2 个价值...

          设计是一门艺术,就像绘画一样,它不是来自书本,而是来自内心。

          像设计模式这样的概念不是设计的阿尔法和欧米茄,它们是用于创建设计的工具包的一部分。特别是设计模式为我们提供了描述解决一些常见问题的方法的词汇表。然而确定要解决的问题是根据需求创建设计的艺术的一部分。

          查看与您收到的用于编码的设计文档相关的要求。想想设计人员将需求分解为一系列有限问题来解决的方式。

          当然,不要害怕向你的设计师询问他们的方法。

          【讨论】:

            【解决方案7】:

            学习某事的最佳方式是边做边学,并从其他现实世界的项目中学习。

            学习设计模式对于设计优秀的应用程序至关重要,但仅此还不够。除了书籍/阅读/示例之外,我建议通过现有应用程序的设计。选择一个开源项目 - 探索、试验并为项目做出贡献。在贡献的同时了解项目中使用的设计原则和方法。在找到最让你兴奋的“一个”之前,不要害怕尝试多个项目。

            当然,一开始你需要理论知识,所以我推荐以下书籍:

            • 应用 UML 和模式 by Larman

            【讨论】:

              【解决方案8】:

              设计应用程序需要一些练习,但这不应该阻止您尝试。一段时间后,你就会掌握它的窍门;

              提示:尝试向您的同事学习。让他们向您展示他们如何设计应用程序,他们遵循什么流程,他们如何识别问题以及他们是否使用模式来解决问题?有时最好看看设计过程是如何运作的,而不是自己去学习。

              我在优质资源上的 50 美分:

              1. SourceMaking Design Patterns

              2. Video course on design patterns

              【讨论】:

                猜你喜欢
                • 2011-03-13
                • 2010-10-29
                • 2017-07-29
                • 2010-09-23
                • 1970-01-01
                • 1970-01-01
                • 2014-03-15
                • 1970-01-01
                • 2011-02-10
                相关资源
                最近更新 更多