您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > Java设计模式详解
Java私塾《深入浅出学Java开发高级》——系列精品教程n学习Java开发高级部分的理论知识n第一章:Java程序设计基础n第二章:设计模式基础n第三章:框架的基本概念n第四章:Java程序设计中最基本的设计模式n第五章:Java程序设计和设计模式的应用《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900课程概览《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900第一章Java程序设计基础n什么是程序设计软件开发的过程,基本上是先分析需要解决的问题(用户需求),找出解决的办法,然后把解决办法用相应的程序语言进行表达(也就是编写程序),最后使用编好的程序去解决问题的这么个过程。而所谓的程序设计,指的就是:在软件开发的过程中,如何找出解决问题的方法,找到办法过后,如何合理的划分程序结构,合理的组织程序代码,这样的一个过程就是程序设计。n程序设计能干什么好的程序设计能让程序:更好的完成用户的需求功能;有更合理的程序架构;更好的程序性能;更好的复用性;更好的可扩展性、可维护性、可配置性、可伸缩性;更好的健壮性;更好的稳定性等等。《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900Java程序设计的基本概念n面向接口编程这是Java编程里面大家公认的第一原则n优先使用对象组合而非类继承n分层最典型的三层架构,表现层--〉逻辑层--〉数据层表现层功能:展示数据、人机交互、收集参数调用逻辑层逻辑层功能:进行数据的逻辑校验、进行逻辑判断、实现业务功能、处理相关功能、处理后续流程、组织数据返回给表现层数据层功能:实现数据持久化、实现对象和持久化数据的双向映射n层间交互的基本原则1:表现层调用逻辑层,逻辑层调用数据层,不可以反过来2:层间交互也应该通过接口进行调用,以确保各层的实现独立变化《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900Java程序设计的基本原则-1n开闭原则简单点说就是对新增开放,对修改关闭。而且应尽量做到不用修改模块的源代码,就能更改模块的行为。n依赖性倒置原则这个原则就是依赖抽象而不要依赖具体的实现。n接口隔离原则这个原则就是不要使用通用的接口,而是为不同的用户使用不同的接口。n替换原则这个原则就是子类应当可以替换父类并出现在父类能够出现的任何地方《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900Java程序设计的基本原则-2n类要单一n加强内聚,松散耦合n好的封装性n类的粒度要合理n实现类不能依赖它的使用类n应考虑灵活性,也就是可配置、可维护n要考虑性能,考虑可伸缩性n要考虑今后可能的变化,也就是可扩展性n要考虑合理的复用n要合理的考虑接口和抽象类的使用n尽量减少类与协作类的交互次数和交互信息的量n父类不应知道子类的信息,子类必须知道父类的信息n更多的使用类的组合,而不是继承n访问对象必须通过接口,不能绕过接口直接去访问《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900类设计的基本经验《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900第二章设计模式基础n什么是模式?从字面上理解,模:就是模型、模板的意思,式:就是方式、方法的意思。综合起来所谓模式就是:可以当作模型或模板的方式方法。再直白点说就是可以用来当成样板被参考的方式方法,类似于大家熟悉的范例。按照上面的理解,设计模式就是指的设计方面的模式,也就是设计方面的方式方法。n设计模式是解决方案所谓解决方案,就是解决方法,或者是解决的方式。n设计模式是用于解决特定环境下、重复出现的特定问题的解决方案特定环境:任何问题都是在某些场景下才会出现特定问题:说明这个解决方案不是什么问题都能解决,只能解决某些特定的问题重复出现:这样把解决方案总结出来才有意义,以后还可以继续使用《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900设计模式是什么n设计模式是经过验证的,用于解决特定环境下、重复出现的特定问题的解决方案经过验证:说明这个设计模式是相对比较优秀的方案,是可行的方案,这样才具有学习、研究和使用的价值。n设计模式的理解1:是一些解决问题的方法,当然主要是设计方面的,重在思想和方法上2:是经验的积累,从理论上说,设计模式并不一定是最好的,可能有比设计模式更好的解决方案。3:设计模式并不是一成不变的,是在不断的发展中的4:设计模式并不是软件业独有,各行各业都有自己的模式n设计模式能干什么设计模式能让我们复用一些相对优秀的解决方案,从而让程序设计得比较精良,还能够加快程序的设计和开发。《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900设计模式是什么n设计模式有什么描述一个设计模式,通常包含如下四个部分:模式名称:就是为每个设计模式取个名字,好记忆好交流环境和问题:描述在什么场景下,出现什么样的特定的问题解决方案:描述如何解决这个问题效果:描述模式可能带来的问题,或者使用中需要权衡的问题还有另外一种分法:Java设计模式:就是GoF《设计模式:可复用面向对象软件的基础》一书中提到的23种JEE核心设计模式:sun的《J2EE核心设计模式》一书中提到15种EJB设计模式实时设计模式:就是实时系统设计模式多线程设计模式等等《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900设计模式有什么n为什么要学习设计模式1:设计模式都是一些相对优秀的解决方案,很多问题都是典型的、有代表性的问题,学习设计模式,我们就不用自己从头来解决这些问题,相当于站在巨人的肩膀上,复用这些方案即可。2:设计模式已经成为专业人士的常用词汇,不懂不利于交流3:能让你设计的系统更加专业,让系统有更好的架构n学习设计模式的层次1:基本入门级——套用型:能够正确理解和掌握每个设计模式的知识,能够识别在什么场景下,出现了什么特定问题,并且知道如何解决它,然后能在程序设计和开发中套用设计模式的方案。2:基本掌握级——可变形使用型3:真正理解和掌握级——思想上吸收和趋同型《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900设计模式学习的问题n寻找合适的对象面向对象设计最困难的部分是将系统分解成对象集合。因为要考虑许多因素:封装、粒度、依赖关系、灵活性、性能、演化、复用等等,它们都影响着系统的分解,并且这些因素通常还是互相冲突的。n决定对象的粒度n指定对象接口在面向对象系统中,接口是基本的组成部分。对象只有通过它们的接口才能与外部交流。设计模式通过确定接口的主要组成成分及经接口发送的数据类型,来帮助你定义接口。设计模式也许还会告诉你接口中不应包括哪些东西。设计模式也指定了接口之间的关系。n描述对象的实现《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900设计模式怎样解决设计问题-1n设计应支持变化获得最大限度复用的关键在于对新需求和已有需求发生变化时的预见性,要求你的系统设计要能够相应地改进。为了设计适应这种变化、且具有健壮性的系统,你必须考虑系统在它的生命周期内会发生怎样的变化。一个不考虑系统变化的设计在将来就有可能需要重新设计。这些变化可能是类的重新定义和实现,修改客户和重新测试。重新设计会影响软件系统的许多方面,并且未曾料到的变化总是代价巨大的。设计模式可以确保系统能以特定方式变化,从而帮助你避免重新设计系统。每一个设计模式允许系统结构的某个方面的变化独立于其他方面,这样产生的系统对于某一种特殊变化将更健壮。《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900设计模式怎样解决设计问题-2《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900第三章框架的基本概念n框架是什么框架是能完成一定功能的半成品软件。n框架能干什么1:能完成一定功能,加快程序开发进度2:给我们一个精良的程序架构n框架的理解1:使用框架,事情还是那些事情,只是看谁做的问题2:使用框架,可以不去做框架所做的事情,但是不可以不懂框架在干什么,以及框架如何实现的《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900框架基础知识全部自己实现框架在框架之上进行开发框架框架n框架和设计模式的关系1:设计模式比框架更抽象框架能够用代码表示,而设计模式只有其实例才能表示为代码。框架的威力在于它们能够使用程序设计语言写出来,它们不仅能被学习,也能被直接执行和复用。2:设计模式是比框架更小的体系结构元素一个典型的框架包括了多个设计模式,而反之决非如此。3:框架比设计模式更加特例化框架总是针对一个特定的应用领域,而设计模式更加注重从思想上,从方法上来解决问题,更加通用化。《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900框架基础知识《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900第四章Java程序设计中最基本的设计模式n场景和问题在Java程序中,如何确保在运行期间,某个类只有一个实例。n解决方案n单例模式的本质控制实例数目n单例模式体现的一些思想1:延迟装载(LazyLoad)2:缓存n单例模式的变形使用《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900设计模式——单例n场景和问题Java程序开发讲究面向接口编程,隐藏具体的实现类,可是如何得到接口呢?n解决方案可以使用工厂方法,又称简单工厂的设计模式。publicclassFactory{publicstaticMyApicreateApi(intwhich){//getClass产生Sample一般可使用动态类装载装入类。if(which==1){returnnewMyImpl();}elseif(which==2){returnnewMyImpl2();}}}n工厂模式的本质选择实现《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址::460190900设计模式——工厂方法n场景和问题在Java程序中,需要在对象之间交互大量数据,比如要为方法传入参数,也要获取方法的返回值,请问如何能更好的进行数据的交互?n解决方案n值对象模式的本质封装数据《深入浅出学Java开发高级》——系列精品教程真正高质量培训签订就业协议网址:
本文标题:Java设计模式详解
链接地址:https://www.777doc.com/doc-6499785 .html