在使用Java基础知识课程之前,我可以从UML类开始吗?

时间:2011-04-13 03:41:20

标签: java uml

实际上,我在Java的New Horizo​​n获得奖学金,(达到目的)我们应该从预先设定的范例开始:

Fundamentals of the Java Programming Language <SL-110-SE6>
Java Programming Language (SL-275-SE6)
Object-Oriented Analysis and Design Using UML (OO-226-SE6)
Developing Applications With the Java SE Platform (SL-285-SE6)
Developing Applications for the Java EE Platform (FJ-310-EE5)
Web Component Development with Servlet and JSP Technologies (SL-314-EE5)
Web 2.0 and Java Web Site Development (DTH-314)
Windows SharePoint Services 3.0 - Level 1
Windows SharePoint Services 3.0 - Level 2
Windows SharePoint Services - Level 1 Building Collaborative Solutions with Team Web Sites

现在他们(New Horizo​​n中心)计划首先教我们UML,他们说这将是我们(我的同学)的缘故,但是在Sun教育中心进入UML之前有一个严格的先决条件http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D61808GC10&p_org_id=1001&lang=US ,现在我和我的同学不知道该怎么办?

万分感谢

3 个答案:

答案 0 :(得分:1)

这可能会让“你不需要没有stinkin'的UML,只是写代码”的人群。但无论如何......

在学习面向对象的原则之前,您不需要学习Java或任何其他编程语言。事实上,首先学习java(或类似)有一些优点。

我不担心Sun声称Java是UML的预先要求。他们的观点与你的观点不同(即他们希望用Java来扼杀你,然后“进步”到“设计”)。

当然,这是一种平衡。以下是一些需要注意的事项:

  • 也许设计OO软件最重要的技能是能够从问题域中识别出良好的抽象。 (参见例如domain driven design)。 UML类图是说明这些抽象(类)及其关系的好方法。
  • 这种关系非常重要 - 而且经常被低估。理解一个领域 - 并且很好地表现一个领域 - 的关键是理解这些关系。他们是秘诀。与任何编程语言提供的相比,UML类图为您提供了更好的词汇表和记录关系的符号。
  • 了解封装原理。特别是,接口与实现的分离。这不是特定于UML(实际上UML并不特别擅长鼓励它)。然而,java更糟糕 - 更糟糕。 Java在支持封装属性方面失败了。要真正理解它,请阅读Bertrand Meyer的Object Oriented Software Construction的前几章。
  • 了解如何在课堂之间分配行为责任。如果识别静态关系是良好OO的第一个关键原则,那么这是第二个(并且建立在封装上)。应用程序级功能通过对象之间的交互来实现。同样,这与任何编程语言无关。 UML活动和序列图对此有好处。

这些是OO优先方法的优点。 UML是一种可视化这些东西的好语言。最大的缺点是:缺乏可执行性。没有什么比看到你的设计“运行”更能强化理解。很少有支持模型执行的UML工具(又名“模拟”)。这是编程语言要好得多的地方 - 参见例如过多的单元测试框架。但是有一些支持执行的UML工具可能值得一试。

有点长的回答,为此道歉。然而,要总结回答您的初始问题:在学习UML之前,您是否需要学习java?不,绝对不是。

第h

答案 1 :(得分:0)

在学习UML之前需要一些实用的OOP经验,否则,你会发现UML非常枯燥乏味。

要学习一些基本的OOP技能,Java Programming Language (SL-275-SE6)将是一个不错的选择。

Fundamentals of the Java Programming Language <SL-110-SE6>太基础了。

Developing Applications With the Java SE Platform (SL-285-SE6)
Developing Applications for the Java EE Platform (FJ-310-EE5)
Web Component Development with Servlet and JSP Technologies (SL-314-EE5)
Web 2.0 and Java Web Site Development (DTH-314)

上述课程适用于经验丰富的Java程序员。

其余的与Java无关。

答案 2 :(得分:0)

要开始学习java,UML不是必需的。但是对于那种学习任何面向对象语言的建议,不仅是java,如果你对面向对象概念的UML有更好的理解,那么它会更好。

对于你,如果你有更少的时间或时间限制,那么拿到UML的书,开始在家里学习并同时开始课程,如果有充足的时间先用一些UML基础课程和在一些内容被覆盖后,然后启动你的java类。 您可以获取这些UML参考书籍:

  

http://www.amazon.com/Unified-Modeling-Language-Addison-Wesley-Technology/dp/0201571684   http://www.amazon.com/Unified-Modeling-Language-Reference-Manual/dp/020130998X