首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在学习Java基础知识之前,我可以先学习UML类吗?

在学习Java基础知识之前,我可以先学习UML类吗?
EN

Stack Overflow用户
提问于 2011-04-13 11:41:20
回答 3查看 370关注 0票数 1

事实上,我在Java的New Horizon获得了一份奖学金,(直截了当地说)有一个预定义的范例,我们应该从这个范例开始:

代码语言:javascript
复制
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

现在他们(新视野中心)计划一开始教我们统一建模语言,他们说这是为了我们(我的同学),但在太阳教育中心http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D61808GC10&p_org_id=1001&lang=US进入UML之前有一个严格的先决条件,现在我和我的同学不知道该怎么办?

万分感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-13 15:31:30

这可能会惹恼“你不需要臭气熏天的UML,只需要写代码”的人群。但不管怎样。

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

我不会担心Sun将Java声明为UML前置请求。他们的观点与你的不同(即,他们想让你在Java中变得陡峭,然后“进展”到“设计”)。

当然,这是一种平衡。以下是一些需要牢记的事情:

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

这些都是面向对象优先方法的优点。UML是一种很好的可视化这些东西的语言。最大的缺点:缺乏可执行性。没有什么比看到你的设计“运行”更能加强理解了。很少有UML工具支持模型的执行(也称为“模拟”)。这就是编程语言要好得多的地方--参见大量的单元测试框架。然而,有一些UML工具确实支持执行,可能值得一试。

回答有点冗长,很抱歉。简单地回答你最初的问题:在学习UML之前,你需要学习java吗?不是的。绝对不是那么回事。

hth。

票数 1
EN

Stack Overflow用户

发布于 2011-04-13 11:54:37

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

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

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

代码语言:javascript
复制
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无关。

票数 0
EN

Stack Overflow用户

发布于 2011-04-13 12:30:41

要开始学习java,UML不是必修课。但是对于友好的建议,学习任何面向对象的语言,不仅仅是java,如果你对面向对象的概念和实现有更好的理解,那就更好了。

对于你来说,如果你有较少的时间或时间限制,那就买一本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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5644157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档