设计模式
Mergades
专注于应用架构设计。
展开
-
读书笔记_java设计模式深入研究 第三章 工厂模式 Factory
读书笔记_java设计模式深入研究 第三章 工厂模式 Factory原创 2014-12-18 17:40:39 · 1070 阅读 · 0 评论 -
动态代理模式2--源码分析
Proxy源码1,成员变量 代理类的构造函数参数。默认每个代理类都具有一个invocationHandler的构造方法。(本文代码主要基于jdk 1.7)/** parameter types of a proxy class constructor */ private static final Class[] constructorParams =原创 2015-07-26 16:53:53 · 911 阅读 · 0 评论 -
动态代理模式1--基本使用
简介Java动态代理机制的出现,使得Java程序员不需要手工编写代理类,只需要指定对应的接口及委托类对象,便能动态的获取代理类。代理类负责将所有方法的调用委托到实际对象反射执行,在委托中,代理类可以加入自定义功能的实现。静态代理1,简介普通静态代理模式,目的就是其他对象为了控制某对象的访问,而提供代理对象间接实现。 2,代理模式UML原创 2015-07-26 11:39:35 · 787 阅读 · 0 评论 -
读书笔记_java设计模式深入研究 第十一章 装饰器模式 Decorator
1,装饰器模式利用包含代替继承,动态的给一个对象添加一些额外的功能。如下图UML,右侧采用装饰模式后实现。2,装饰器角色描述: -1,抽象构建角色(Component):接口,封装了将要实现的方法,如ILogger。 -2,具体构建角色(ConcreteComponent):多个类,实现了抽象构建接口。 -3,装饰角色原创 2015-01-05 16:45:12 · 625 阅读 · 0 评论 -
读书笔记_java设计模式深入研究 第十章 命令模式 Command
1,命令模式:主要针对需要执行的任务或用户提出的请求进行封装与抽象。抽象的命令接口描述了任务或请求的共同特征,而实现交由不同的具体命令对象完成。每个命令对象都是相互独立的,它负责完成需要执行的任务,却并不关心是谁调用的。2,UML模型:3,角色分析: -1,ICommander:抽象命令者,是一个接口,规定了用来封装请求的若干个方法。原创 2015-01-05 16:31:14 · 764 阅读 · 0 评论 -
读书笔记_java设计模式深入研究 第九章 访问者模式 Vistor
1,访问者模式的目的是封装一些施加于某种数据结构元素之上的操作,一旦这些操作需要修改的话,接受这个操作的数据结构可以保持不变。为不同类型的元素提供多种访问操作方式,且可以在不修改原有系统的情况下增加新的操作方式,这就是访问者模式的动机。2,UML图:3,访问者角色: IElement:抽象的事物元素功能接口,定义了固定功能方法以及可变功能方法接原创 2015-01-04 17:30:31 · 877 阅读 · 0 评论 -
读书笔记_java设计模式深入研究 第八章 状态模式 State
1,状态模式:事务有n个状态,且维护状态变化。2,UML模型: -1,上下文环境Context:定义客户程序需要的接口并维护一个具体状态角色的实例,将与状态相关的操作委托给当前的Concrete State对象来处理。 -2,抽象状态State:定义接口以封装上下文环境的一个特定状态的行为。 -3,具体状态ConcreteState:具体状原创 2014-12-29 10:21:37 · 707 阅读 · 0 评论 -
读书笔记_java设计模式深入研究 第七章 代理模式 Proxy
1,代理模式:一个类可以用作其他东西的接口,其他类可以通过此类去访问被代理者。2,UML图如下:3,角色: ISubject:抽象主题接口,该接口定义对象和它的代理共用的接口。 RealSubject:真实主题角色,使实现抽象主题接口的类。 Proxy:代理角色,内部含有对真实对象的引用,从而可以操作真实对象原创 2014-12-26 17:00:56 · 1236 阅读 · 0 评论 -
读书笔记_java设计模式深入研究 第六章 桥接模式
1,桥接模式:将抽象部分与实现部分分离,使他们可以独立变化。桥接模式可以实现的是不同方式的组合完成不同的功能,方式和功能完全分离,使得相互不影响。2,UML模型:3,简单代码实例:/** * * @(#) IPost.java * @Package pattern.chp06.bridge.simple * * Copyright © JING Corporati原创 2014-12-26 10:16:10 · 825 阅读 · 0 评论 -
读书笔记_java设计模式深入研究 第五章 观察者模式 Observer
1,观察者模式适合解决多种对象跟踪一个对象数据变化的程序结构问题,一个称作“主题”的对象和若干个称作“观察者”的对象。在主题对象更新后会通知所有的观察者,使他们自动更新自己。2,观察者UML类图:3,角色解释:-1,抽象观察者(IObserver):为所有具体观察者定义接口,在得到主题通知的时候,更新观察者自身数据。-2,抽象主题(ISubj原创 2014-12-24 15:42:11 · 1168 阅读 · 0 评论 -
读书笔记_java设计模式深入研究 第四章 生成器模式 (建造者模式) Builder
1,生成器的模式的意图在于将一个复杂的构建与其标识相互分离,是的同样的构建过程可以创建不同的表示。建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成不同的内部表象的产品。2,生成器模式UML图:-1,建造者IBuilder角色:给出一个抽象接口,以规范产品对象各个组成成分的建造。一般而言,此接口独立于应用程序的商业逻辑。可以原创 2014-12-22 15:36:50 · 693 阅读 · 0 评论 -
读书笔记_java设计模式深入研究 第二章 反射
1,JDK中反射类包含的内容: -1,Class类,代表一个类。 -2,Constructor,代表类的构造方法。 -3,Field,代表类成员 -4,Method,代表方法。2,统一调用形式: 一个基本的使用反射的例子如下:package com.use;import java.lang原创 2014-12-01 22:42:32 · 969 阅读 · 0 评论 -
动态代理3--Spring AOP分析
Spring AOP的基本实现方式 Spring AOP,一种模块化机制,可以动态的对切点增加行为,而不破坏原有的代码结构。这是一个很好地动态代理的应用方式,Spring AOP实现依赖于JDK的动态代理库和CGLIB字节码库技术两种来分别实现。 在Spring AOP中,JdkDynamicAopProxy实现基于JDK动态代理生成代理对象,CglibAopP原创 2015-07-29 13:35:04 · 991 阅读 · 2 评论