王鹏亮 的专栏

千里之行始于足下!

行为型模式之解释器模式(Interpreter)

一、模式介绍     Interpreter模式(解释器模式)属于行为模式,是一个普通编程工作中使用频率不高的模式,它定义一个解释器用来解释特定的文法表示,如果一种特定的业务类型经常被使用(如一连串复杂的运算或指令集),这个时候可以考虑使用解释器模式,它的作用在于对你预先定义下文法表示做出解释执行...

2013-04-26 22:14:07

阅读数:3601

评论数:0

行为型模式之中介者模式、调停者模式(Mediator)

一、模式介绍         Mediator模式中文翻译为调停者模式,它的主要作用在于将有复杂依赖关系的类解耦和。调停者封装了一系列类的交互行为,它使得类和类之间的多对多交互变成了和类和调停者者之间多对一的交互,这种行为的封装使得类之间的依赖系更加集中化和易控化,使得类与类之间变得松耦合化。调停...

2013-04-26 13:53:35

阅读数:3376

评论数:0

行为型模式之命令模式(Command)

一、模式介绍      命令模式的目的是将命令的发送者和命令的执行者松耦合,发送者不必需再关心命令的执行细节,执行者也必需关心命令的发送者,打比方说这种模式好像是可以用于把编程世界里方法的直接调用改为代理调用(不是很恰当但可以帮助理解命令模式)。命令模式中发送者对接受端是否接收、是否执行等不需知情...

2013-04-24 22:47:42

阅读数:3320

评论数:0

行为型模式之备忘录模式(Memento)

一、模式介绍         备忘录模式可以对一个对象的内部状态进行备份以在一个合适的时机恢复到这个状态,例如编辑器软件可以恢复到上次修改的操作。 二、原理图 三、示例代码 public class Memento { String state1; String state2; public ...

2013-04-23 13:22:34

阅读数:3404

评论数:0

行为型模式之访问者模式(Visitor)

一、模式介绍     访问者模式将一个元素本身与对其的操作分离开来,它可以在元素本身不发生变化和不知情的条件下被不同的访问者访问应用到不同的场景中去从而实现出很多新的功能,由于元素和对其的操作的分离,访问者可以独立变化使用不同的方式对元素进行访问而不改变元素本身的结构表示,也就是说我们可以使用不同...

2013-04-22 23:11:54

阅读数:3274

评论数:0

行为型模式之迭代器模式(Iterator)

一、模式介绍     迭代器模式又名游标模式,它使得一个集合对象可以在不暴露其内部表示的情况下被客户访问其包含对象,那么它是怎么做到的呢?它是通过实现了一组接口而做到的,而这组接口是开放给客户的,客户端只需使用该接口而无需知晓其实现的细节,因为封装的特性外界无法得知集合内部的表示那么实现集合迭代的...

2013-04-22 16:52:05

阅读数:3381

评论数:0

行为型模式之状态模式(State)

状态模式,将条件的判断从业务逻辑中分离出去。 程序运行中所依赖的条件可视作程序的状态,程序的运行逻辑非常复杂,在不同的状态下需要有不同的表现,状态模式将程序“状态”(即程序运行条件)进行了抽象,这样,通过自由切换状态条件可以方便地得到不同的表现。 我们在程序设计过程中,经常会涉及到在某些状态下进...

2013-04-21 21:48:02

阅读数:3295

评论数:0

结构型模式之桥模式(Bridge)

一、模式介绍 面向对象的编程过程中我们要实现某一业务模型会先对模型进行抽象建模,抽象确立以后再对其进行实现,通常来讲这是很合乎常理的构建过程,然而我们可能会遇到这样的情况,我们的实现很可能会面临变化,即抽象的实现的某一部分是不稳定的,在我们抽象的众多的实现中都会在同一个维度上进行扩展或改变,比如人...

2013-04-18 23:00:55

阅读数:3374

评论数:0

结构型模式之组合模式(Composite)

一、模式介绍     组合模式是一个比较常用的模式,它的作用在于讲一系列有相同特征的对象以树形结构组合起来,形成“部分-整体”的层次结构,单个对象和组合对象对客户端开放一致的访问接口,客户端并不知晓访问的是单个对象还是一个组合对象,这就是一种解耦,解除了客户端和复杂对象之间的耦合关系,这使得客户端...

2013-04-16 01:13:53

阅读数:3255

评论数:0

结构型模式之享元模式(Flyweight)

一、模式介绍     享元模式是为避免有共性的细粒度的对象大量地被实例化而存在的,它使用的共享技术避免了大量不必要的内存开销,即对于相似的对象尽量使用共享体而不是创建新对象。 然而共享体往往不能满足每个对象的个性化要求即不是对象的所有状态都能用来共享,这时候我们可以把对象的状态按是否能被共享分为两...

2013-04-15 18:34:31

阅读数:3485

评论数:0

行为型模式之责任链模式(Chain of Responsibility)

一、模式介绍     责任链模式将请求的发送者与请求的处理者解耦和,使得发送者无从也无需得知请求的处理过程,它更重要的特征是使得多个处理者对象都有机会处理此请求,而且处理的结果是在编译器见不可预知的也就是动态是在运行期动态决定的,所以责任链的处理请求操作是灵活的。在JavaEE的规范里,配置的we...

2013-04-09 22:53:24

阅读数:3498

评论数:0

创建型模式之建造者模式(Builder)

建造者模式的精髓在于:对构建过程进行解耦 一个对象的创建是非常复杂的,需要一步一步地操作,每个步骤都可能是有关联或依赖的, 最重要的是同一套建造流程是需要被不同的建造者复用的,因此需要分层抽象以松耦 目标:在不改变创建过程的前提下,可以创建出不同表象的对象

2013-04-08 15:03:42

阅读数:3579

评论数:0

结构型模式之适配器模式(Adapter)

一、模式介绍     “适配器模式是把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。”这种情形多发生于重构老系统,或者不同系统的整合的时候,已经有老系统或部分的软件模块接口成型并能很好的工作,而新需求的接口需要完成的工作完全可以由这些已存...

2013-04-08 10:21:51

阅读数:3388

评论数:0

行为型模式之观察者模式(Observer)

观察者模式描述的是事件的通知方式,可用于“订阅-分发”、“监听器”等场景,一个主题对象发生变化时通知所有的观察者进行相应的处理。 JDK自身内置了观察者模式实现,可以直接使用JDK自身的观察者模式! 场景:求职者可以向猎头注册登记,猎头在有工作的时候通知求职者。 设计: 示...

2013-04-08 02:06:57

阅读数:3317

评论数:0

面向对象的设计原则

1、单一职责原则(Single-Resposibility Principle)     单一职责原则说的是一个类应该只做一件事,应该只有这件事的变化会引起它的变化。一个类的职责如果越多,那么就表示可能引起它变化的原因越多,众多的职责汇聚在一个类里必然导致的结果是牵一发而动全身,耦合度的增大和内...

2013-04-08 00:34:27

阅读数:3089

评论数:0

创建型模式之抽象工厂模式(Abstract Factory)- 工厂方法模式(Factory Method)

一、模式介绍 抽象工厂模式主要被用来完成一系列相互依赖的或者有组合关系的对象的创建过程,当软件系统中有多个产品族(业务品种或业务分类)而且系统一次需要同一产品族中的产品集合协作运行时候可以考虑使用抽象工厂模式。抽象工厂模式中的核心工厂包含了创建各种产品的方法但她是个抽象类,由不同的子工厂真正完成各...

2013-04-06 21:50:52

阅读数:3364

评论数:0

回调函数(callback Function)

一、概念介绍     回调函数(callback Function),顾名思义,就是为被调用方所反过来调用的函数,即调用的时机等等都完全由被调用方控制,也就是回调方法自己不使用是给别人使用的,比如说客户程序Client调用了服务端Server中的某个函数serverMethod,然后Server又...

2013-04-06 12:52:07

阅读数:5322

评论数:0

行为型模式之模板方法模式(Template Method)

一、模式介绍 模板方法模式适用于总体业务流程相对固定不变而流程中各环节的具体实现有所不同需要既保证流程的正确性还要保证具体实现的个性化的场景的场景。模板方法模定义了模板方法负责控制总体业务流程的走向,定义的这个模板方法将流程中不变的部分提取出来,将变化的部分推迟到子类中实现,遵守了开闭原则(对扩展...

2013-04-05 23:09:30

阅读数:3531

评论数:0

创建型模式之原型模式(ProtoType)

一、模式介绍 原型模式(ProtoType) 是通过一个类的对象对象来创建一个新对象(复制、克隆),使得新对象与原始对象保持相同的状态,如一样的属性值等。在需要一个与原始对象一模一样的对象而又不是统一个对象的或需要很多个与某个对象相同的拷贝版本对象的时候可以考虑使用原型模式。此模式与工厂模式结合使...

2013-04-05 18:48:15

阅读数:3666

评论数:0

结构型模式之外观模式(Facade)

一、模式介绍 Facade(外观模式):为子系统的一组接口提供一个一致的界面。定义一个高层的接口,使得这个子系统更加容易使用,我们在编程工作中如果遇到复杂多变子系统耦合的问题不妨试试此模式。 Facade模式为系统的相对复杂或多变的一组接口或子系统提供了一个一致的门面,调用的客户端无需在关心子这组...

2013-04-04 01:36:54

阅读数:3291

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭