01Java语言特性与设计模式_第1页
01Java语言特性与设计模式_第2页
01Java语言特性与设计模式_第3页
01Java语言特性与设计模式_第4页
01Java语言特性与设计模式_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

让资金管理得更好!Java语言特性与设计模式

内部培训深圳市拜特科技股份技术开展部-桂艳军整理课件目录让资金管理得更好!第一局部 程序设计语言及其依赖的环境

第二局部 程序设计语言的开展简史

第三局部 Java语言和Java平台

第四局部如何理解设计模式

第五局部开始迈进JavaEE整理课件第一局部程序设计语言及其依赖的环境让资金管理得更好!1.冯•诺依曼计算机及其体系结构冯诺依曼首先提出了“存储程序〞的思想,大大提高了计算机的速度。后人按照这种思想和结构设计的计算机称为冯诺依曼计算机。“存储程序〞思想可以简化概括为3点:〔1〕计算机应用包括运算器、控制器、存储器、输入/输出设备。〔2〕计算机内部应采用二进制来表示指令和数据。〔3〕将编制好的程序和数据送会内存储器,然后计算机自动地逐条取出指令和数据进行分析、处理和执行。整理课件第一局部程序设计语言及其依赖的环境让资金管理得更好!2.程序设计语言的理论根底冯诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。

整理课件第二局部程序设计语言的开展简史让资金管理得更好!1.程序设计语言的开展回忆一切可计算的问题都能计算,这样的虚拟机或者编程语言就叫图灵完备的。一个能计算出每个图灵可计算函数〔Turing-computablefunction〕的计算系统被称为图灵完备的。一个语言是图灵完备的,意味着该语言的计算能力与一个通用图灵机〔UniversalTuringMachine〕相当,这也是现代计算机语言所能拥有的最高能力。图灵完备是什么意思呢?在可计算理论中,当一组数据操作的规那么〔一组指令集,编程语言〕满足任意数据按照一定的顺序可以计算出结果,被称为图灵完备〔turingcomplete〕。一个有图灵完备指令集的设备被定义为通用计算机。如果是图灵完备的,它〔计算机设备〕有能力执行条件跳转〔“if〞和“goto〞语句〕以及改变内存数据。如果某个东西展现出了图灵完备,它就有能力表现出可以模拟原始计算机,而即使最简单的计算机也能模拟出最复杂的计算机。所有的通用编程语言和现代计算机的指令集都是图灵完备的〔C++template就是图灵完备的〕,都能解决内存有限的问题。图灵完备的机器都被定义有无限内存,但是机器指令集却通常定义为只工作在特定的,有限数量的RAM上。整理课件第二局部程序设计语言的开展简史让资金管理得更好!程序设计语言的4大成分:数据:传输:计算:控制:(1).机器语言机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成假设干段,各段的编码表示不同的含义,例如某台计算机字长为16位,即有16个二进制数组成一条指令或其它信息。16个0和1可组成各种排列组合,通过线路变成电信号,让计算机执行各种不同的操作。整理课件第二局部程序设计语言的开展简史让资金管理得更好!(2).汇编语言汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编汇编指令的特点:OP(R,X)汇编语言的要点:存储单元的命名;存储单元的赋值;根本动作的重复;整理课件第二局部程序设计语言的开展简史让资金管理得更好!(3).C语言理论根底:程序=数据结构+算法支持结构化程序设计:防止goto,程序由3种根本结构组成:顺序:分支:循环:整理课件第二局部程序设计语言的开展简史让资金管理得更好!(4).Java语言理论根底:程序=对象+关系支持面向对象程序设计:对象间的5种关系:继承、组合、聚合、关联、依赖面向对象程序架构的特点:程序由对象构成;对象与对象彼此间可能有5种关系;对象与所在环境的关系(容器和组件);采用设计模式可以适应对象将来的演变;整理课件第二局部程序设计语言的开展简史让资金管理得更好!2.语言对程序开发的影响力在应用程序开发过程中,对生产力影响的关键因素:(1)语言语言的抽象层次决定了生产力的根本;(2)框架框架封装了共性问题的解决方案,防止了重复劳动;(3)工具自动化工具的使用可以大幅度提高效率;整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第三局部Java语言和Java平台1.Java语言Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的,平安的,结构中立的,可移植的,性能优异的,多线程的,动态的语言。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第三局部Java语言和Java平台2.Java平台Java平台由Java虚拟机和Java核心类所构成。它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第三局部Java语言和Java平台JavaME平台:J2ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝和可视、数字机顶盒、汽车导航系统等等。JavaSE平台:J2SE定位在客户端,主要用于桌面应用软件的编程,包含那些构成Java语言核心的类。JavaEE平台:J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且标准应用系统的开发与部署,进而提高可移植性、平安与再用价值。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第四局部如何理解设计模式许多刚入门的Java开发人员能够很好地理解Java编程语言的概念,但是他们往往需要经历一段痛苦的时期才能成为专业的Java开发人员。这是因为大多数Java书籍只关注如何教会读者使用Java语言、Java工具〔如Ant或者TestUnit〕或者一种与语言无关的软件开发方法。这些书籍让读者自行向其他软件开发人员学习技能和实践经验。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第四局部如何理解设计模式1.什么是设计模式设计模式〔Designpattern〕是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第四局部如何理解设计模式2.经典的设计模式模式对于理解JavaAPI及与他人交流非常重要,因为大局部API是基于设计模式锤炼出来的。(1).面向对象设计的根本原那么从本质上讲,设计就是做决定,知道哪些决定会提高软件的质量,哪些决定会给以后的维护带来问题,是任何一个设计人员在构思解决方案时都必须考虑的。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第四局部如何理解设计模式设计的核心在于清楚的识别软件系统中的各个组成局部,明确的知道它们将如何在一起协同工作来到达预期的需求目标。也就是说要认识到软件系统的组成成分;理清这些成分彼此间的关系;明确它们和所在地根底环境的关系;把握它们将来有可能出现的演变趋势。抽象、封装、继承、多态是面向对象设计中的4个根本概念。抽象来自于现实,是对现实世界(问题域)中的概念进行的建模过程。封装在于强调概念与概念之间的边界划分。继承创立了一个类系家族,强调了专门化和一般化这种关系。多态那么是在一个类系家族中允许类型替换,更确切的说可以理解为:但凡子类出现的地方,都可以用父类替代。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第四局部如何理解设计模式深刻理解了这4个根本概念之后,构建高质量的解决方案也需要知晓一些设计原那么:A.受保护的变化:可以理解为隔离应用程序中的波动性。如果意识到某个成分可能会发生变化,那么就应该使用接口来将该成分隔离。因为接口允许改变实现类,但不会影响到现有的依赖性。其实,任何设计模式都遵守了这个原那么:将变化的和不变的别离开来。在理解任何一个模式的时候,就可以从两个方面入手,变化的局部在哪里?固化的局部在哪里?往往固化的东西才是更具价值的。B.低耦合:这个原那么是为了保证对一段代码的修改不会影响到另一段不相关的代码。例如:一个UI界面的变化需要修改数据库吗?如果需要的话,那么该应用程序就很脆弱,其中任何一点小波动都会扩散到整个软件系统。C.高内聚:将有关联的东西紧紧地捆绑在一起,特别是那些全有全无,不可分解的局部。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第四局部如何理解设计模式这些问题看起来都是些常识——因为它们本来就是!但是真理往往就蕴含于常识之中,不要假设所有人都懂得这些道理。此外,还有一句名言“切勿违背原那么,切勿迷恋技术〞。在软件开发过程、产品和技术的迷宫中,这将成为帮助你走出困境的金玉良言。上述内容是软件开发的核心原那么,而如何到达这些目标的手段那么是技术,不要混淆这两个概念。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第四局部如何理解设计模式(2).模式也是基于设计原那么的每一个模式都是一个或多个原那么的具体运用,只要理解了抽象、封装、继承、多态和一些根本原那么,就能很容易地理解模式为什么能降低软件设计的复杂性。软件设计的目标很重要,但是理想的目标和实际情况之间往往存在巨大的差距。模式消除了这种差距并实现了这些目标。所以掌握了模式,就能大大降低软件设计的复杂度和难度。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第四局部如何理解设计模式从简单到复杂,逐步理解模式的运用和模式背后的动机。A.设计单个类单个类不构成一个设计模式,但它确实是一个设计。因为其设计简单,所以不会出错。设计过程的一分部是给一个对象分配职责。例子(略)新手经常会犯的错误:类常常会因为带有几个与该类表示的抽象无关的方法而变得过于庞大,随着方法的增多,膨胀的更厉害,蜕化成面向过程的函数集合。这里违反的是高内聚原那么,会引起依赖性问题。解决的方法是将那些不属于该类的方法“外包〞给其他类,但是这里的“不属于〞是设计者的主观判断,这种主观判断的能力依托于对面向对象原那么的理解。可以说,设计者作出的任何决定都有可能是错误的。但是只要能根据有效地OO原那么加以调整,就不必担忧——以后对问题理解更清晰后便可以进行重构。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第四局部如何理解设计模式B.在类之间创立关联在设计单个类的时候,我们将一些方法外包给了另一个类。那么这两个类之间就有关系了。为了让A类能调用B类的方法,可能会出现3中情况:1.B类的对象作为一个参数传递给A类对象:A.setB(B);2.A类负责在其内部构造B类对象并保存引用,new一个B类对象作为成员变量;3.B类对象从一个方法调用中传回这3中方法决定了在关键关联时一个对象与另一个对象共享的可见性。设计可能已经完成了,但是还有解决另一个设计原那么:低耦合。我们在指定关联时,A和B之间已经建立起紧密的依赖关系。这种关系被限制为A类和B类。这样很好,但是今后一旦某一方发生变化时,势必涉及另一方。如何放开这种限制并解决这种变化问题呢?答案就是增加一个接口。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第四局部如何理解设计模式C.创立接口接口就是类之间的契约和协定。在一个类系家族中,接口总是位于顶层,所以只依赖于接口,就可以操纵整个类系家族中的每一个类(PS:羊群和领头羊)警告:添加到设计中的每一个部件都是需要管理的,为了在组件之间依赖性并隔离变化,接口可以很好的发挥作用,但是并不哪里都需要接口。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第四局部如何理解设计模式D.创立继承循环通过关联和继承将两个类关联,就可以创立树和图形结构,以充分扩展类系家族的层次结构。继承关系可以使对象结构中的节点变成多态的。这好比文件系统中的文件和文件夹都具有相似的行为。设计模式中的组合模式,正是使用了继承循环,以到达类型无关但功能相识。在UI体系中的容器和组件的概念就是这种设计模式的经典案例。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第四局部如何理解设计模式(3).一些重要的Java模式Gof模式分类:1.创立型:工厂:单例:2.结构型:适配器:复用实现装饰器:复用接口组合模式:类系扩展(从树到图)3.行为型:责任链:过滤器链命令模式:请求命令封装观察者:事件监听器整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第五局部开始迈进JavaEE1.什么是企业级应用程序一个企业系统是具备以下性质的系统:(1)共享某些或全部在应用中被使用的资源:这里普遍存在的例子就是所有的应用数据驻留的关系型数据库。共享这些资源会增加额外的隐含复杂性:数据被共享是因为它需要同时对多个用户可用。因此,系统必须支持平安地且快捷地并发用户访问。(2)规划成为内部使用:这里的“内部〞指的是“大量生产的卖给最终用户的软件的对立物〞。当系统确实可以在公司与商业伙伴之间共享时,它可以用公司的特有知识、商业惯例和特殊需求来编写。(3)必须在现有的架构内运行:在极特殊的情况下,公司才有可能已经拥有了一套适当的、系统必须能够与之进行互操作的硬件和软件。特别地,这意味着应用必须适应现有的数据库模式〔而不是其它的方式〕。一个企业系统必须能够适应它所存活的异构系统。整理课件第二局部研发工程管理流程〔规划〕让资金管理得更好!第五局部开始迈进JavaEE(4)将由内部IT员工部署并提供支持:对大多数公司来说,实际的“产品〞生产都超出了开发者的职责范围。这是一件好事情——大多数开发者都会对因为他们开发的应用的故障,在凌晨时分被唤醒而感到不痛快。但是这同时也意味着系统的部署将要由他们之外的人手去完成,并且这还意味着负责数据中心的员工必须有某种途径在未经历编写代码环节的情况下,去监视、诊断和订正问题。(5)需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论