设计模式在Java程序开发中的应用.doc
文本预览下载声明
设计模式在Java程序开发中的应用
[摘 要]随着软件产品日趋复杂化,开发难度也越来越大,不仅仅对技术的要求提高,而且要求软件开发效率必须有所提高,避免开发速度停止不前,导致最终产品与实际应用存在差距。因此为了提高开发应用的效率,在开发产品中设计模式扮演的角色越来越重要。本篇文章是针对JAVA程序开发设计模式来讲述的,叙述了采用设计模式的由来,普遍存在的常见设计模式,以及给出采用设计模式的部分示例。关键词:Java应用程序,应用开发,设计模式
中图分类号:S68 文献标识码:A 文章编号:1009-914X(2016)02-0225-01
一、设计模式基本情况介绍
设计模式是一套经过很多次循环使用、很多人非常了解、经过规划编写、代码设计编写经验的总结描述。简单而言, 这种设计模式即为一个被证明可行的解决方案, 这些方案可以不限次数的重用, 有良好的延展性。一般情况下,一个设计模式需要4 个基本元素:
模式名称( Pattern Name):这是个助记名称, 它是用一个或多个词语来讲述模式的问题, 解决问题的方案和效果。模式名称有助于我们思考,同样也便于编写人员同其他人交流设计的主题思想。找到一个合适且恰到好处的模式名称也是设计模式编目工作难点中的重点。
问题设计思想( Problem)。问题设计思想讲述了模式的使用情况以及使用时间。解释设计存在的问题以及问题存在的原因和可能造成的后果, 描述了特定的设计时存在的问题, 也可能描述了不可用设计的类或对象结构。
解决方案( Solution):解决方案讲述了设计的组成部分,也叙述了组成成分之间的相互关联以及各自工作和工作协调方式。解决方案并不是一种叙述一个特定而具体的设计, 而是一种供设计问题抽象的描述和怎样用一个具有无特殊意义的元素组合( 类或者对象) 来使问题解决。
效果(Consequences):效果描述了模式应用的效果以及使用模式应用程序权衡的问题。软件效果主要关注对时间和空间的平衡, 同时效果也表述了语言功能和实现问题。因为复用是面向对象设计的重要元素之一, 所以模式的效果包含对系统的灵活掌握性、扩充延展性或跨平台可移植性的影响,这些效果的实现对理解设计模式和评价这模式都有很大的帮助。
二、设计模式类别
设计模式通常情况下分为三大类:
1、创建型模式:这种模式有五种方法(方法工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式)。
2、结构型模式:这种模式有七种方法(适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式)。
3、行为型模式:这种模式有十一种方法(策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式)。
4、并发型模式和线程池模式。用一个图片来整体描述一下:
三、设计模式的六大原则
1、开闭原则(Open Close Principle)
开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。
2、里氏代换原则
里氏代换原则面向对象设计的最基本原则之一。其严格描述的情况如下文所示:若对每个类型为P的对象P1,都有类型为T的对象T2,能够使以T定义的所有程序S在所有对象P1代换T2时,程序S的行为没有发生变化,那么类型P就是类型T的子类型。对于这个定义大家通常难以理解,因此一般使用另一个易于理解、易于接受的定义。所谓里氏代换原则(L S P):所引用父类的方式和地方必须可以调用其所有子类的一切对象。
在软件开发及应用中一个父类对象替换成子类对象后,程序的运行将不会产生任异常及错误,但是反过来则不可以,若软件实体使用的是一个子类对象,那么就不一定能够使用或者调用父类的对象。
3、依赖倒转原则(Dependence Inversion Principle)
依赖倒转原则是开闭的基础原则,具体内容:真对接口编程,依赖于抽象而不依赖于具体。
4、接口隔离原则(Interface Segregation Principle)
接口隔离原则主要含义是调用两个或者多个隔离的接口,比调用单个接口作用效果更好。还是一个降低类之间的耦合度的意思,从这儿我们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出现:降低依赖,降低耦合。
5、迪米特法则(最少知道原则)(Demeter Principle
显示全部