`
zhaoshijie
  • 浏览: 2261579 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA 23种设计模式简介(Design Patterns)

阅读更多
关键字:JAVA 23中设计模式简介

学习参考:http://wenku.baidu.com/view/6c455cf80242a8956bece46f.html

设计模式应用:http://tech.it168.com/focus/200902/java-design/index.html

一、设计模式总体概述:

模式的概念最早是出现在城市建筑领域的。lexander的一本关于建筑的书中明确的给出了模式的概念,用来解决在建筑中的一些问题。后来,这个概念逐渐的被计算机科学所采纳。《Design Patterns: Elements of Reusable Object-Oriented Software》[1](以下简称《设计模式》)则堪称设计模式领域的经典书籍之一。它开创了软件工程领域的模式化进程。
  设计模式的简单定义就是对于一类重复出现的问题的可重用的解决方案。在软件工程中一个设计模式解决一类软件设计问题。设计模式中许多方法其实很早就出现了,并且在应用中也比较多。但是直到《设计模式》出来之前,并没有一种统一的认识。或者说,那时候并没有对模式形成一个概念。这些方法还仅仅是处在经验阶段,并没有能够被系统的整理,形成一种理论。
  每一个设计模式都系统的命名,解释和评价了面向对象系统中的一个重要的和重复出现的设计。这样,我们只要搞清楚这些设计模式,就可以完全或者说很大程度上吸收了那些蕴含在模式中的宝贵的经验,对面向对象的系统能够有更为完善的了解。更为重要的是,这些模式都可以直接用来指导面向对象系统中至关重要的对象建模问题。如果有相同的问题背景,那么很简单,直接套用这些模式就可以了。这可以省去你很多的工作。
  在《设计模式》一书中涉及到23个模式,被分类为创建型模式(Creational Patterns),结构型模式(Structural Patterns)和行为模式(Behavioral Patterns),分别从对象的创建,对象和对象间的结构组合以及对象交互这三个方面为面向对象系统建模方法给予了解析和指导。  其中创建型设计模式(Creational Patterns)描述怎样创建一个对象。它隐藏对象创建的细节,使程序代码不依赖具体的对象,这样当我们增加一个新的对象时几乎不需要修改代码。结构型设计模式(Structural Patterns)描述类和对象之间怎么组织起来形成大的结构,主要使用继承来组织接口或实现。行为型设计模式(Behavioral Patterns)描述算法以及对象之间的任务分配,它所描述的不仅仅是对象或类的设计模式,还有它们之间的通讯模式。





二、各种设计模式简介

创建型模式(Creational Pattern)
1、 抽象工厂模式(Abstract Factory Pattern)
介绍
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

2、 建造者模式(Builder Pattern)
介绍
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

3、 原型模式(Prototype Pattern)
介绍
用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。

4、 工厂方法模式(Factory Method Pattern)
介绍
定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其

子类。

5、 单例模式(Singleton Pattern)
介绍
保证一个类仅有一个实例,并提供一个访问它的全局访问点。


结构型模式(Structural Pattern)
6、 适配器模式(Adapter Pattern)
介绍
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那

些类可以一起工作。

7、 桥接模式(Bridge Pattern)
介绍
将抽象部分与它的实现部分分离,使它们都可以独立地变化。

8、 组合模式(Composite Pattern)
介绍
将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致

性。

9、 装饰模式(Decorator Pattern)
介绍
动态地给一个对象添加一些额外的职责。就扩展功能而言,它比生成子类方式更为灵活。


10、 外观模式或门面模式(Facade Pattern)
介绍
为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

实际应用:其实web开发中的的Service层就是一个典型的外观模式。



11、 享元模式(Flyweight Pattern)
介绍
运用共享技术有效地支持大量细粒度的对象。

12、 代理模式(Proxy Pattern)
介绍
为其他对象提供一个代理以控制对这个对象的访问。


行为型模式(Behavioral Pattern)
13、 责任链模式(Chain of Responsibility Pattern)
介绍
为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并

沿着这条链传递该请求,直到有一个对象处理它。

14、 命令模式(Command Pattern)
介绍
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以

及支持可取消的操作。

15、 解释器模式(Interpreter Pattern)
介绍
给定一个语言,定义它的文法的一种表示,并定义一个解释器, 该解释器使用该表示来解释语言中的句子。

16、 迭代器模式(Iterator Pattern)
介绍
提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。

17、 中介者模式(Mediator Pattern)
介绍
用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而

且可以独立地改变它们之间的交互。

18、 备忘录模式(Memento Pattern)
介绍
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对

象恢复到保存的状态。

19、 观察者模式(Observer Pattern)
介绍
定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并

自动刷新。

20、 状态模式(State Pattern)
介绍
允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。

21、 策略模式(Strategy Pattern)
介绍
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法的变化可独立于使用

它的客户。

22、 模板方法模式(Template Method Pattern)
介绍
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算

法的结构即可重定义该算法的某些特定步骤。

23、 访问者模式(Visitor Pattern)
介绍
表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元

素的新操作。

<script type="text/javascript"> if ($ != jQuery) { $ = jQuery.noConflict(); } </script>

分享到:
评论

相关推荐

    JAVA 23种设计模式(Design Patterns)

    简单例子说明了java的23种设计模式的原理,方便大家进行程序开发,对于入门级选手(我也是初学者)有很大的帮助

    《设计模式》中文版 Design Patterns

    设计模式 中文版 Design Patterns 可复用面向对象软件基础 经典之作 内含23个设计模式

    JAVA设计模式《Design Patterns》

    **JAVA设计模式——《Design Patterns》完全实现** 在软件工程领域,设计模式是解决常见问题的可重用解决方案,它们代表了在特定上下文中已被证明有效的设计决策。由Erich Gamma、Richard Helm、Ralph Johnson和...

    JAVA 23种设计模式(全).Design Pattern_Java模式

    总结来说,"JAVA 23种设计模式(全).Design Pattern_Java模式"这份资源是学习和掌握Java设计模式的重要工具。通过深入学习并熟练应用这些模式,开发者可以写出更高效、更易于维护的代码,同时提升个人的编程技能和...

    Head First Design Patterns(中文版)设计模式 java

    Head First Design Patterns(中文版)设计模式 java。 Head First Design Patterns(中文版) 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除 设计模式 ...

    JAVA设计模式(Design Patterns)

    在Java中,有23种经典的设计模式,这些模式通常被分为三大类:创建型、结构型和行为型。 **创建型模式**关注对象的创建过程,旨在确保对象的创建过程与使用场景解耦。包括: 1. **工厂方法模式**(Factory Method...

    设计模式(Design Patterns).pdf

    本知识点将详细介绍设计模式的分类、设计模式的六大原则,以及Java中23种设计模式的具体应用。 一、设计模式的分类 设计模式主要分为三大类,分别是创建型模式、结构型模式和行为型模式。此外,还有并发型模式和...

    Head First Design Patterns(深入浅出设计模式)中文版PDF完整超清带目录

    又名: Head First Design Patterns 作者: (美)弗里曼(Freeman,E.) 副标题: Head First Design Patterns 简介 ······ 你不想重新发明车轮(或者更差的是,没有充气车胎的轮子),所以你从设计模式中寻求...

    Design Patterns in Java

    书中全面地介绍了23种常用的设计模式,并通过Java底层类进行深入解析。 #### 设计模式定义及其来源 设计模式是基于先前成功实践的解决方案模板。它们不是具体的代码片段或库函数,而是一种高级抽象,旨在指导开发...

    Professional Java EE Design Patterns

    《Professional Java EE Design Patterns》是一本专注于Java EE领域设计模式的专业书籍。设计模式是一种设计技巧,用以解决在软件开发中经常遇到的问题。Java EE(Java Platform, Enterprise Edition)是为开发企业...

    《Java 企业设计模式》(Java Enterprise Design Patterns) 随书源代码

    《Java 企业设计模式》(Java Enterprise Design Patterns) 是一本深入探讨如何在Java环境中应用设计模式的著作。这本书的核心目标是提高软件开发的效率、可维护性和可扩展性,通过介绍一系列已被广泛验证的设计模式...

    侯捷讲座:Design Patterns设计模式范式(PDF高清).rar

    侯捷讲座:Design Patterns设计模式范式(PDF高清).rar 侯捷讲座:Design Patterns设计模式范式(PDF高清).rar 侯捷讲座:Design Patterns设计模式范式(PDF高清).rar

    MongoDB应用设计模式:MongoDB Applied Design Patterns

    《MongoDB应用设计模式:MongoDB Applied Design Patterns》这本书深入探讨了在实际开发中如何有效地利用MongoDB的优势来构建高效、可靠且易于维护的数据存储解决方案。 在设计模式方面,书中可能涵盖了以下关键...

    设计模式解析 design patterns explained

    作者提到自己在学习设计模式之前就已经具备了丰富的面向对象分析与设计经验,熟悉C++并开始接触Java。尽管如此,在深入研究设计模式之前,他仍然感到自己的设计方法存在局限性。 #### 面向对象编程的基础 面向对象...

    Head First Design Patterns(深入浅出设计模式)PDF中文完整版Part04

    深入浅出设计模式(Head First Design Patterns)完整版,由本人精心整理网上的JPG版制作成PDF版供各位编程爱好者下载学习, 这部模式教程诙谐幽默,寓教于乐,实乃菜鸟成才必备之选。共分为11个压缩包,绝对的物有所...

    Software Architecture Design Patterns in Java(在Java的软件架构设计模式)

    在Java的软件架构设计模式中,我们探讨的核心是构建高效、可维护且可扩展的软件系统的方法。设计模式是经过时间验证的解决方案模板,用于解决软件开发中的常见问题。本书中,作者通过代码实例详细解释了如何在Java...

    J2EE core design patterns j2ee 核心设计模式 chm

    《J2EE Core Design Patterns》是一本专注于Java企业级应用开发中的核心设计模式的重要书籍。设计模式是软件工程中经过实践验证的、解决特定问题的模板,尤其在复杂如J2EE(Java 2 Platform, Enterprise Edition)...

    java-design-patterns-master_JAVAdesignpattens_java_design_

    这个压缩包“java-design-patterns-master”显然是一个专注于Java设计模式的学习资源,旨在帮助开发者深入理解和应用这些模式。下面我们将详细探讨Java设计模式及其在实际开发中的应用。 1. **单例模式(Singleton...

    Head First(Design Patterns) 设计模式英文原版

     1设计模式入门欢迎来到设计模式世界  2观察者模式让你的对象知悉现况  3装饰者模式装饰对象  4工厂模式烘烤OO的精华  5单件模式独一无二的对象  6命令模式封装调用  7适配器模式与外观模式随遇...

Global site tag (gtag.js) - Google Analytics