一 创建型模式

工厂模式(Factory): 定义一个用以创建对象的接口

抽象工厂模式(Abstract Factory): 提供一个创建一系列相关或相互依赖对象的接口

单例模式(Singleton): 保证一个类仅有一个实例,并提供一个访问它的全局控制点.

建造者模式(Builder): 将一个复杂对象的构建与它的表示分离.

二 结构型模式

适配器模式(Adapter): 将一个类的接口转换成客户希望的另一个接口.

合成模式(Composite): 合成模式将对象组合成树型结构以表示“部分---整体”的层次结构。

装饰者模式 Decorator : 动态的给一个对象添加一些额外的职责

代理模式 Proxy : 为其他对象提供一种代理以控制对这个对象的访问

外观模式(Facade): 为子系统中的一组接口提供一个一致的界面.

桥梁模式(Bridge): 桥梁模式将抽象部分与它的实现部分分离

三 行为型模式

中介者模式(Mediator): 中介者模式用一个中介对象封装一系列的对象交互.

策略模式 Strategy: 策略模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换

模板模式(Template): 定义一个操作中的算法骨架, 而将一些步骤延迟到子类中.

观察者模式(Observer): 定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象

迭代器模式(Iterator): 迭代器模式提供一种方法顺序访问一个聚合对象中各个元素

责任链模式(Chain of Responsibility): 责任链模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系

命令模式(Command): 将一个请求封装成为一个对象, 使可以用不同的请求对客户进行参数化.

状态模式(State): 状态模式容许一个对象在其内部状态改变时改变它的行为。

访问者模式(Visitor): 访问者模式表示一个作用于某对象结构中的各元素的操作。

For Exam (Java常用设计模式) 介绍的更多相关文章

  1. java常用设计模式总览

    一.java的设计模式大体上分为三大类: 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式. 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组 ...

  2. java常用设计模式

    一个程序员对设计模式的理解: "不懂"为什么要把很简单的东西搞得那么复杂. 后来随着软件开发经验的增加才开始明白我所看到的"复杂"恰恰就是设计模式的精髓所在,我 ...

  3. JAVA常用设计模式整理

    设计模式:一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把 ...

  4. JAVA常用设计模式(一、单例模式、工厂模式)

    JAVA设计模式之单例模式 import java.util.HashMap; import java.util.Map; /** * 设计模式之单例模式 * 单例模式(Singleton Patte ...

  5. java 常用设计模式(转载)

    http://www.cnblogs.com/hnrainll/archive/2011/12/29/2305582.html 设计模式:一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得 ...

  6. JAVA常用设计模式(静态化调用和实例化调用的区别,编辑可见 )

    用newInstance()与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类,且newInstance()只能调用无参构造函数. 最大的区别在于内存.静态方法 ...

  7. Java常用设计模式《转》

    设计模式:一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把 ...

  8. GOF 的23种JAVA常用设计模式总结 02 UML中的类图与类图之间的关系

    统一建模语言UML 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际 ...

  9. 《java常用设计模式之----单例模式》

    一.简介 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 这种模式涉及到一个单一的类,该类负责创 ...

随机推荐

  1. Mac 终端命令汇总

    OSX 的文件系统 OSX 采用的Unix文件系统,所有文件都挂在跟目录 / 下面,所以不在要有Windows 下的盘符概念. 你在桌面上看到的硬盘都挂在 /Volumes 下. 比如接上个叫做 US ...

  2. Codeforces 743D:Chloe and pleasant prizes(树形DP)

    http://codeforces.com/problemset/problem/743/D 题意:求最大两个的不相交子树的点权和,如果没有两个不相交子树,那么输出Impossible. 思路:之前好 ...

  3. win7下80端口被(Pid=4)占用的解决方法

    首先介绍一种网上普遍的方法,就是查找占据80端口的进程,然后关闭它就行了. 1.运行cmd,然后输入netstat -a -n -o,回车:2.查看开头几行包含0.0.0.0:80的那一行最后的pid ...

  4. C++ Template Operator

    #include <iostream> #include <string> #include <deque> #include <stdexcept> ...

  5. 下载服务器端的图片和下载excel

    #region 下载 /// <summary> /// 下载资源 /// </summary> public void Download() { SaveFileDialog ...

  6. thinkphp和uploadfiy

    上传页面 用的是bootstrap <div class="col-sm-6"> <div style="width: 200px; height: 1 ...

  7. .Net neatupload上传控件实现文件上传的进度条

    1. 引入bin文件 (可以到neatupload官网下载,也可以到教育厅申报系统中找) 2. 将控件加入到工具栏,在工具栏中点鼠标右键,如图: 3. 加入neatuplaod这个文件夹(可以到nea ...

  8. csharp通过dll调用opencv函数,图片作为参数

    [blog 项目实战派]csharp通过dll调用opencv函数,图片作为参数          ​一直想做着方面的研究,但是因为这个方面的知识过于小众,也是由于自己找资料的能力比较弱,知道今天才找 ...

  9. 基于@AspectJ和schema的aop(三)---切点函数详解

    切点函数是AspectJ表达式语言的核心, 也是使用@AspectJ进行切面定义的难点.本小节我们通过具体的实例对切点函数进行深入学习. 1.@annotation() @annotation()表示 ...

  10. Mybatis 和 Spring配置

    一.使用的jar包就不详细讲解了,下载了Mybatis 和 Spring 的jar包基本上都添加上去了. 一图概括:(这是我使用的ar包,有些不是Mybatis 和 Spring 的 ) 二. web ...