收藏 分享(赏)

精通java的标准.docx

上传人:dzzj200808 文档编号:2831100 上传时间:2018-09-28 格式:DOCX 页数:6 大小:34.85KB
下载 相关 举报
精通java的标准.docx_第1页
第1页 / 共6页
精通java的标准.docx_第2页
第2页 / 共6页
精通java的标准.docx_第3页
第3页 / 共6页
精通java的标准.docx_第4页
第4页 / 共6页
精通java的标准.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解 UML,尤其是 class,object,interaction 以 及 statediagrams。java view plaincopyprint?1. 什么是 OOA/OOD 2. Object Oriented Analyzing 3. Object Oriented Design 4. Object Oriented Programming 5. ooa(object oriented analysis)面向对象分析 6. ood(object oriented design

2、)面向对象设计 7. 如所熟知, 面向对象作为一种程序设计技术最早于 60 年代后期提出,用于 Simula 的应用程序开发。到了 70 年代,面向对象成为 Smalltalk 语言的一个重要特征。当时,面向对象技术主要 用于程序设计。进入 90 年代,人们的注意力逐渐从程序设计转向系统分析和设计,用对象的观 点来认识现实世界、设计问题的可行解,随之也就出现了许多 OOA 和 OOD 方法。但这些方法 还不很成熟,在 OOA 与 OOD 的边界划分上也存在着争议。如:有人认为面向对象软件开发 过程可以分为面向对象分析、面向对象设计和面向对象程序设计三个阶段;有人认为分析和设 计可以交叉进行不必

3、做严格区分;还有人沿用传统方法进行分析和设计,用面向对象程序设计 8. 语言来实现系统。O OA/OOD 的一些较有代表性的工作有 Gray.Booch 的 OOAD 方法,CoadR.Abbott 认为,可以通过分析非形式化英语的问题描述,将名词标识为对象,将形容词标识为属 性,将动词标识为服务;Bailin 等人则采用结构化与面向对象技术相结合的方法。 16. 2)静态分析:分析和描述系统的静态结构。一般地,对象系统中的类或对象之间存在着两 种关系:一般 特殊关系和整体 部分关系。其中, 前者更具普遍性,它的一种重要实现形式 就是继承机制, 也是面向对象程序设计语言所支持的语言设施。同样,

4、大多 OOA 方法也都为 继承提供了相应的表示方法。因此,系统静态分析主要是分析、识别对象或类间的一般特殊 结构,并添加一些必要的类, 构造继承关系。 17. 3)动态分析:分析对象及之间的行为及其控制关系,建立系统的动态模型。多数分析方法 要求进行这方面的工作,有的则将它放到设计阶段去完成,这主要是由 OOA、OOD 阶段划分 的不同所造成的。动态模型一般由一组状态转换图构成,从这组状态转换图可以映射到对象模 型。系统的动态模型从对象行为的角度刻划了系统功能,方便了从 OOA 到 OOD 的过渡。有的 方法虽未提供动态模型,但也提供了表示对象行为的类似方法。早期的 OOA 方法对建立系 统动

5、态模型认识不足,这主要是因为当时的许多方法是受数据模型的启发而产生的。现在越来越 多的人认识到了系统动态分析工作的重要性,并在分析方法中引入了相应概念。除 此之外,许多 OOA 方法还引入了问题复杂性控制机制。如,CoadWirfs为满足实现的需要,还要增加一些类 、结构及属性和服务,并对原有类及属性进行调整。此外,还要完成应用控制、人机交互界面的设计等。在现有方法中,Coad 等人的 OOD 就是比较全面的设计方法。OOD 的主要工作有:2 20. 问题域部分的设计问 21. 题域部分的设计是任何 OOD 方法都必须完成的工作 ,它主要是对 OOA 结果进行改进和 精化,并将其由问题域转化到

6、解域,具体来说,有以下几个方面:. 属性:有些属性在分析阶段有助于问题的理解,而到了设计阶段则可以由其他属性导出或 根本没必要保留。因此,应将它们去掉。相反地,为了实现服务算法还需要增加相应的一些属性 22. 。. 23. 服务:OOA 只给出了服务的接口,其具体实现算法要在 OOD 阶段完成。. 24. 类及对象: 在 OOA 阶段有助于问题理解的一些类在 OOD 阶段成为冗余,需要删除,而为 了优化调整继承关系还要增加一些类。所有的类都确定以后还要明确哪些类的对象会引发哪 些类创建新对象。. 25. 结构: 对类间结构进行优化调整。. 26. 对象行为: 明确对象间消息传递的实现算法,依据

7、动态模型确定对象间消息发送的先后顺 序,并设计相应算法,协调对象的行为。2 27. 2 人机交互与应用控制部分的设计有 28. 些设计方法并没有提到交互界面的设计,一方面是因为这些系统中交互界面不十分重要 ;另一方面是因为这部分的设计很有规律,设计方法也比较成熟,但为完整起见,仍将其列出 29. 。主要工作包括:. 30. 交互界面子系统的设计:与界面有关的类及类间结构的设计,以及有关算法的设计。. 31. 交互界面子系统和应用之间接口的设计。. 32. 应用控制部分的设计:这部分对象主要完成应用的驱动工作。这部分对象不同于从现实 33. 世界中抽象出来的对象,在现实世界和问题域中没有原型,它

8、们同界面子系统中的对象及问题 34. 对象发生作用,控制系统的运行。 35.36. OOA 与 OOD 的区别 37. 上讨论了 OOA 阶段和 OOD 阶段所应完成的主要工作 ,由于这两个阶段的划分没有公认 的标准,有些工作是在 OOA 阶段完成还是在 OOD 阶段完成还存在着争议。有人认为 OOA 和 38. OOD 可以交叉进行;有人认为 OOD 是对 OOA 结果的改进和细化,所以只提 OOA;有人则更 强调OOD。尽管 OOA 和 OOD 存在着某些交叉和联系,但它们之间仍有许多差别,如: 39. 1)OOA 将现实世界中的实体抽象为问题对象,并构造问题域中的系统需求模型;OOD 将

9、 问题对象转化为解域中的类并在解域中构造出问题的解。 40. 2)OOA 侧重于用户需求的分析和对问题域的理解,分析人员关心的是系统结构及对象间 的关系;OOD 则侧重于系统的实现,设计人员关心的是对象的行为及其实现。 41. 3)OOA 标识了一组对象 ,并通过其相互作用来刻划系统,该阶段的工作与程序设计语言 无关;OOD 定义了一组类,并设计出系统的实现蓝图,概要设计与程序设计语言无关,但详细 42. 设计则与之有比较密切的联系。( 43. 4)OOA 识别的对象是对客观世界实体的抽象,标识对象的准则是:该对象的引入是否有助于对问题域的理解;OOD 中构造类的准则是:该类的构造是否可行,是

10、否有效地实现了抽象数据类型,是否有助于系统的实现和提高软件质量。( 44. 5)两个阶段都没有提及系统对象,但原因不同。在 OOA 阶段,分析与实现无关,分析所涉 及的范围与解域无关,系统对象自然不用考虑。OOD 建立的对象模型本身就是要设计的软件 系统,对系统对象的考虑是隐含的。 45. 6)组装结构和分类结构在两个阶段所起的作用不同。在 OOA 阶段,它们的引入主要是为 了理解问题;而在 OOD 阶段,它们的引入则主要是针对软件的构造和实现。分类结构通过继 承机制来实现, 因而代码得到了有效地复用;组装结构则将一些类组合在一起构成较大的软件 构件。 46. 7)OOA 并没有考虑对象的产生

11、问题,当其对应的实体在现实世界中出现时,它也就在问 题域中产生了。OOA 也不考虑对象属性的取值和服务算法的实现。而在 OOD 阶段这些问题都必须详细考虑。 47. 8)OOD 涉及到重载问题 ;而 OOA 没有考虑,因为考虑过多的实现细节对理解问题和分析用户需求没有多大帮助。 2.你需要学习 JAVA 语言的基础知识以及它的核心类库(collections,serialization , streams,networking,?multithreading,reflection ,event,handling,NIO,localization,以及其他)。3.你应该了解 JVM,classl

12、oaders,classreflect,以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇 编指令4.如果你将要写客户端程序,你需要学习 WEB 的小应用程序(applet),必需掌握 GUI 设计的思想和方法,以及桌面程序的 SWING,AWT,?SWT。 你还应该对 UI 部件的JAVABEAN 组件模式有所了解。JAVABEANS 也被应用在 JSP 中以把业务逻辑从表现层中分离出来。5.你需要学习 java 数据库技术,并且会使用至少一种 persistence/ORM 构架,例如Hibernate,JDO,?CocoBase,TopLink, Inside

13、Liberator(国产 JDO 红工厂软件)或者 iBatis。 6.你还应该了解对象关系的阻抗失配的含义,以及它是如何影响业务对象的与关系型数据库的交互,和它的运行结果,还 需要掌握不同的数据库产品运用,比如:oracle,mysql,mssqlserver。7.你需要学习 Servlets,JSP,以及 JSTL(StandardTagLibraries)和可以选择的第三方TagLibraries。 8.你需要熟悉主流的网页框架,例如 JSF,Struts ,Tapestry,Cocoon,WebWork,以及他们下面的涉及模式,如 MVC/MODEL2。9.你需要学习如何使用及管理 W

14、EB 服务器,例如 tomcat,resin,Jrun,并且知道如何在其基础上扩展和维护 WEB 程序。 10.你需要学习分布式对象以及远程 API,例如 RMI 和 RMI/IIOP。 11.你需要掌握各种流行中间件技术标准和与 java 结合实现,比如 Tuxedo、CROBA,当然也包括 javaEE 本身。 12.你需要学习最少一种的 XMLAPI,例如 JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,或 JAXR (JavaAPIforXMLRegistries)。13.你应该学习如何利用

15、 JAVA 的 API 和工具来构建 WebService。例如 JAX-RPC(JavaAPIforXML/RPC),SAAJ(SOAPwithAttachmentsAPIforJava) ,JAXB(JavaArchitectureforXMLBinding),JAXM(JavaAPIforXMLMessaging) ,?JAXR(JavaAPIforXMLRegistries),或者 JWSDP (JavaWebServicesDeveloperPack)。 14.你需要学习一门轻量级应用程序框架,例如 Spring,PicoContainer,Avalon,以及它们的 IoC/DI 风

16、格(setter ,constructor, interfaceinjection)。15.你需要熟悉不同的 J2EE 技术,例如 JNDI(JavaNamingandDirectoryInterface),JMS?(JavaMessageService),JTA/JTS (JavaTransactionAPI/JavaTransactionService),JMX?(JavaManagementeXtensions),以及 JavaMail。16.你需要学习企业级 JavaBeans(EJB)以及它们的不同组件模式:Stateless/StatefulSessionBeans,EntityB

17、eans(包含 Bean-? ManagedPersistenceBMP或者 Container-ManagedPersistenceCMP和它的 EJB-QL),或者?Message-DrivenBeans(MDB)。17.你需要学习如何管理与配置一个 J2EE 应用程序服务器,如 WebLogic,JBoss 等,并且利用它的附加服务,例如簇类,连接池以及分布式处理 支援。你还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它的性能。 18.你需要熟悉面向方面的程序设计以及面向属性的程序设计( 这两个都被很容易混淆的缩写为 AOP),以及他们的主 流 jAVA 规格和执行。例如 A

18、spectJ 和 AspectWerkz。19.你需要熟悉对不同有用的 API 和 frame work 等来为你服务。例如Log4J(logging/tracing),Quartz?(scheduling),JGroups (networkgroupcommunication),JCache(distributedcaching),?Lucene(full-textsearch),JakartaCommons 等等。 20.你应该熟练掌握一种 JAVAIDE 例如 sunOne,netBeans,IntelliJIDEA 或者Eclipse。(有些人更喜欢 VI 或 EMACS 来编写文件。

19、 随便你用什么了:21.JAVA(精确的说是有些配置) 是冗长的,它需要很多的人工代码( 例如 EJB),所以你需要熟悉代码生成工具,例如 XDoclet。 22.你需要熟悉一种单元测试体系(JNunit),并且学习不同的生成、部署工具(Ant,Maven)。23.你需要熟悉一些在 JAVA 开发中经常用到的软件工程过程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。24.你还需要紧跟 java 发展的步伐,比如现在可以深入的学习 webwork2.0 25.你必需要对实际项目的开发流程有所了解,至少要有两个有实际应用价值的项目,而不是练习项目!因为现在企业看重的是你有没有实 际的开发经验,真正开发经验的体现就是你做的项目,也就是有实际应用的项目!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报