
java设计模式
睡眼惺忪_
这个作者很懒,什么都没留下…
展开
-
Java的动态代理机制详解
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在java的动态代理机制中,有两个重要的类或转载 2015-01-05 16:14:17 · 776 阅读 · 0 评论 -
备忘录模式 Memento Pattern
一、什么是备忘录模式 Memento模式也叫备忘录模式,是行为模式之一,它的作用是保存对象的内部状态,并在需要的时候(undo/rollback)恢复对象以前的状态。二、备忘录模式的应用场景 如果一个对象需要保存状态并可通过undo或rollback等操作恢复到以前的状态时,可以使用Memento模式。1)一个类需要保存它的对象的状态(相当于Originat转载 2012-02-21 09:08:28 · 713 阅读 · 0 评论 -
桥接模式 Bridge Pattern
一、什么是桥接模式Bridge 模式又叫做桥接模式,是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。二、桥接模式的结构三、桥接模式的角色和职责Cl转载 2012-02-20 17:17:09 · 2361 阅读 · 0 评论 -
外观模式 Facade Pattern
一、什么是外观模式Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种。Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade。二、外观模式的结构三、外观模式的角色和职责Facade为调用方定义简单的调用接口。Clients调用者。通过Facade接口调用提供某功能转载 2012-02-20 16:18:29 · 638 阅读 · 0 评论 -
装饰模式 Decorator Pattern
java设计模式_装饰者模式(带例子) Decorator模式(装饰者) Java深入到一定程度,就不可避免的碰到设计模式这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解.设计模式在java的中型系统中应用广泛,遵循一定的编程模式,才能使自己的代码便于理解,易于交流,Decorator(装转载 2012-02-20 15:40:26 · 760 阅读 · 0 评论 -
享元模式 Flyweight Pattern
一、什么是享元模式Flyweight模式也叫享元模式,是构造型模式之一,它通过与其他类似对象共享数据来减小内存占用。二、享元模式的结构see the picture三、享元模式的角色和职责抽象享元角色:所有具体享元类的父类,规定一些需要实现的公共接口。 具体享元角色:抽象享元角色的具体实现类,并实现了抽象享元角色规定的方法。享元工厂角色: 负转载 2012-02-20 15:24:18 · 748 阅读 · 0 评论 -
中介者模式 Mediator Pattern
一、什么是中介者模式 Mediator模式也叫中介者模式,是由GoF提出的23种软件设计模式的一种。Mediator模式是行为模式之一,在Mediator模式中,类之间的交互行为被统一放在Mediator的对象中,对象通过Mediator对象同其他对象交互,Mediator对象起着控制器的作用。二、中介者模式的结构三、中介者模式的角色和职责mediat转载 2012-02-20 14:59:51 · 7438 阅读 · 0 评论 -
解释器模式 Interpreter Pattern
一、什么是解释器模式 Interpreter模式也叫解释器模式,是行为模式之一,它是一种特殊的设计模式,它建立一个解释器,对于特定的计算机程序设计语言,用来解释预先定义的文法。简单地说,Interpreter模式是一种简单的语法解释器构架。二、解释器模式应用场景 当有一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。 而当转载 2012-02-20 14:38:00 · 900 阅读 · 0 评论 -
模板方法模式 Template Method Pattern
一、什么是模板方法模式 Template Method模式也叫模板方法模式,是行为模式之一,它把具有特定步骤算法中的某些必要的处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为。二、模板方法模式的应用场景Template Method模式一般应用在具有以下条件的应用中:- 具有统一的操作步骤或操作过程- 具有不同的操作细节- 存在多个具有同样操转载 2012-02-20 14:17:11 · 786 阅读 · 0 评论 -
适配器模式 Adapter Pattern
一、什么是适配器模式 Adapter模式也叫适配器模式,是构造型模式之一,通过Adapter模式可以改变已有类(或外部类)的接口形式。二、适配器模式应用场景 在大规模的系统开发过程中,我们常常碰到诸如以下这些情况:我们需要实现某些功能,这些功能已有还不太成熟的一个或多个外部组件,如果我们自己重新开发这些功能会花费大量时间;所以很多情况下会选择先暂时使用外部组件,以后再考转载 2012-02-20 14:03:44 · 1865 阅读 · 0 评论 -
迭代模式 Iterator Pattern
一、什么是迭代模式 Iterator模式也叫迭代模式,是行为模式之一,它把对容器中包含的内部对象的访问委让给外部类,使用Iterator(遍历)按顺序进行遍历访问的设计模式。二、不使用迭代模式的应用在应用Iterator模式之前,首先应该明白Iterator模式用来解决什么问题。或者说,如果不使用Iterator模式,会存在什么问题。1.由容器自己实现顺序遍历。直接在容器转载 2012-02-20 13:44:24 · 912 阅读 · 0 评论 -
组合模式 Composite Pattern
一、什么是组合模式Composite模式也叫组合模式,是构造型的设计模式之一。通过递归手段来构造树形的对象结构,并可以通过一个对象来访问整个对象树。二、组合模式的结构三、组合模式的角色和职责Component (树形结构的节点抽象)- 为所有的对象定义统一的接口(公共属性,行为等的定义)- 提供管理子节点对象的接口方法- [可选]提供管理父节点对象的接口转载 2012-02-20 13:22:06 · 717 阅读 · 0 评论 -
代理模式 Proxy Pattern
一、什么是代理模式Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。二、代理模式的结构三、代理模式的角色和职责subject(抽象转载 2012-02-20 11:32:56 · 647 阅读 · 0 评论 -
命令模式 Command Pattern
一、什么是命令模式 Command模式也叫命令模式 ,是行为设计模式的一种。Command模式通过被称为Command的类封装了对目标对象的调用行为以及调用参数。二、命令模式的应用场景 在面向对象的程序设计中,一个对象调用另一个对象,一般情况下的调用过程是:创建目标对象实例;设置调用参数;调用目标对象的方法。 但在有些情况下有必要使用一个专门的类对这种调用过程转载 2012-02-20 11:01:43 · 635 阅读 · 0 评论 -
访问者模式 Visitor Pattern
一、什么是访问者模式 Visitor模式也叫访问者模式,是行为模式之一,它分离对象的数据和行为,使用Visitor模式,可以不修改已有类的情况下,增加新的操作。二、访问者模式的应用示例 比如有一个公园,有一到多个不同的组成部分;该公园存在多个访问者:清洁工A负责打扫公园的A部分,清洁工B负责打扫公园的B部分,公园的管理者负责检点各项事务是否完成,上级领导可以视察公园等等转载 2012-02-20 09:49:49 · 620 阅读 · 0 评论 -
策略模式 Strategy Pattern
一、什么是策略模式Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略)。Strategy模式主要用来平滑地处理算法的切换 。二、策略模式的结构看图:三、策略模式的角色和职责Strategy:1 策略(算法)抽象。 2转载 2012-02-18 08:52:44 · 607 阅读 · 0 评论 -
职责链模式 Chain of Responsibility Pattern
一、什么是职责链模式 Chain of Responsibility(CoR)模式也叫职责链模式或者职责连锁模式,是行为模式之一,该模式构造一系列分别担当不同的职责的类的对象来共同完成一个任务,这些类的对象之间像链条一样紧密相连,所以被称作职责链模式。二、职责链模式的应用场景例1:比如客户Client要完成一个任务,这个任务包括a,b,c,d四个部分。 首先客户Client把转载 2012-02-18 08:52:30 · 736 阅读 · 0 评论 -
观察者模式 ObServer Pattern
一、什么是观察者模式Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。 Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。 二、观察者模式的结构三、观察者模式的角色和职责Subject(被观察者)被观察的对象。当需要被观察的状态发生变化时,需转载 2012-02-18 08:52:12 · 585 阅读 · 0 评论 -
原型模式 Prototype模式
一、什么是原型模式Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。二、原型模式的特点1. 由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。2. 目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不仅仅与原型对象具有相同的结构,还与转载 2012-02-18 08:51:52 · 601 阅读 · 0 评论 -
3.抽象工厂模式
一、什么是抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。二、模式中包含的角色及其职责1.抽象工厂(Creator)角色 (FruitFactory.java) 抽象工厂模式的核心,包含对多个产品结构的声明,任何工厂类都必须实现这个接口。2.具体转载 2012-02-18 08:51:26 · 609 阅读 · 0 评论 -
2.工厂方法模式
一、什么是工厂方法模式工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。二、模式中包含的角色及其职责1转载 2012-02-18 08:51:10 · 571 阅读 · 0 评论 -
1.简单工厂模式 Simple Factory Pattern
一、什么是简单工厂模式简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。二、模式中包含的角色及其职责1.工厂(Creator)角色 简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。2.抽象(Product)角色 简单工厂模式所创建的所有对象的父类转载 2012-02-18 08:50:50 · 722 阅读 · 0 评论 -
4.工厂模式在开发中的运用
写一个简单的计算器。先看普通的简单计算器MainClass.javaimport java.util.Scanner;public class MainClass { public static void main(String[] args) { // 1.接受控制台输入 System.out.println("---计算器程转载 2012-02-17 09:03:01 · 707 阅读 · 0 评论 -
单例模式 Singleton模式
一、什么是单例模式单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。其实,GoF对单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。二、为什么要使用单例模式呢?在应用系统开发中,我们常常有以下需求:- 在多个线程之间,比如servlet环境,共享同转载 2012-02-17 08:56:48 · 887 阅读 · 0 评论