JAVA设计模式
文章平均质量分 87
设计模式是一种编程思想、是前辈们继承和汇总下来的代码设计上的思想结晶,是每一个从基础的软件工程师通往软件设计师、系统架构师必须要掌握的一项技能,该专栏将记录小吕<ice>的Java设计模式学习系列
小吕-ICE
一个有灵魂、有理想、有战斗力的攻城狮
展开
-
JAVA设计模式之 装饰模式【Decorator Pattern】
一、概述 动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。装饰模式是一种用于替代继承的技术,使用对象之间的关联关系取代类之间的继承关系。在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类的方法,还可以增加新的方法,以扩充原有类的功能。二、适用场景 装饰原有对象、在不改变原有对象的情况下扩展增强新功能/新特征.。当不能原创 2015-03-09 21:07:56 · 3118 阅读 · 0 评论 -
JAVA设计模式之 桥接模式【Bridge Pattern】
一、概述 将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式。二、适用场景 处理多维度变化。 业务场景:某功能为将数据库中的数据转换成多种文件格式,例如txt、xml、pdf等格式,同时需要支持多种不同类型的数据库的读取。便可使用桥接模式对其进行设计。 这里的维度有两个 分别为:不同的文件格式原创 2015-03-06 17:43:23 · 5032 阅读 · 1 评论 -
JAVA设计模式之 代理模式【Proxy Pattern】
一、概述 给某一个对象提供一个代理,并由代理对象来完成对原对象的访问。代理模式是一种对象结构型模式。二、适用场景 当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,委托对象与代理对象需要实现相同的接口。三、UML类图 四、参与者 1、接口类:Subje原创 2015-01-10 16:15:56 · 3632 阅读 · 2 评论 -
JAVA设计模式之 适配器模式【Adapter Pattern】
今天上班有点点空闲时间、于是上午抽时间写了个适配器模式的Demo程序。一、适配器的定义: 一讲到适配器模式、我的第一反应就是想到家里的电源排插、电源排插上有两孔的、有三孔的、它能适用于不同电头插。还有 你笔记本上的那个拖在外面的黑盒子就是个适配器,一般你在中国能用,在日本也能用,虽然两个国家的的电源电压不同,中国是220V,日本是110V,但是这个适配器能够把这些不同的电原创 2013-12-20 13:30:05 · 2009 阅读 · 0 评论 -
JAVA设计模式之 组合模式【Composite Pattern】
一、组合模式介绍组合模式(Composite Pattern)有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念。组合模式有两种模式,透明模式 和 安全模式、下面先来两个类图吧、来看看透明模式和安全模式区别;从类图上应该能看清楚了,这两种模式各有优缺点,透明模式是把用来组合使用的方法放到抽原创 2013-12-06 11:49:50 · 2104 阅读 · 0 评论 -
JAVA设计模式之 备忘录模式【Memento Pattern】
一、概述 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以在以后将对象恢复至原先保存的状态。它是一种对象行为型模式。二、适用场景 1、类似于撤销功能的实现,保存一个对象在某一时间的部分状态或全部状态,当以后需要它时就可以恢复至先前的状态。 2、 对对象历史状态的封装、避免将对象的历史状态的实现细节暴露给外界。原创 2014-12-23 23:34:02 · 5647 阅读 · 0 评论 -
JAVA设计模式之 观察者模式【Observer Pattern】
一、概念: 简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。原创 2014-06-18 22:58:15 · 1928 阅读 · 0 评论 -
JAVA设计模式之 策略模式【Strategy Pattern】
JAVA设计模式、都是前辈们积累下来的经典的设计思想、可能我们在平时的代码中都没有经常用到、我曾经在读书的时候有过一段时间每天去学习一种设计模式、但是在后来的工作中、通常都是在公司自主的框架中编写一些业务处理代码、最近在学习Android的过程中、发现Android里面应用了大量的设计模式、于是我便翻出以前看过的一本很经典设计模式书籍出来、把里面每种设计模式、重新代码写一遍、一方面加深自己的设计思原创 2013-12-05 09:42:27 · 1803 阅读 · 1 评论 -
JAVA设计模式之 中介者模式【Mediator Pattern】
一、概述 用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。二、适用场景 协调多个对象之间的交互。三、UML类图四、参与者1、Mediator(抽象中介者):它定义一个接口,该接口用于与各同原创 2014-12-02 22:22:07 · 4840 阅读 · 0 评论 -
JAVA设计模式之 迭代器模式【Iterator Pattern】
一、概述 提供一种方法来访问聚合对象(容器container),而不用暴露这个对象的内部细节。二、适用场景 1>遍历访问聚合对象中的元素,而无须暴露它的内容表示,将聚合对象的访问和内部数据的存储分离。使得访问聚合对象时无须了解其内部的实现细节。 2>需要为一个聚合对象提供多种遍历实现。三、UML类图四、参与者 1>Ite原创 2014-12-01 00:42:14 · 1783 阅读 · 0 评论 -
JAVA设计模式之 职责链模式【Chain of Responsibility Pattern】
一、概述 避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为型模式。 核心在于引入一个抽象处理者类二、适用场景 请求的链式处理,多个对象可以处理同一请求、但是具体由哪个对象来处理由运行时系统根据条件判断确定。 如请假业务场景:原创 2014-11-26 00:41:47 · 3924 阅读 · 1 评论 -
JAVA设计模式之 命令模式【Command Pattern】
一、概述 命令模式可以将请求发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知道如何完成请求。核心在于引入了命令类,通过命令类来降低发送者和接收者的耦合度,请求发送者只需指定一个命令对象,再通过命令对象来调用请求接收者的处理方法,命令模式是一种对象行为型模式。二、使用场景1>、系统要求请求发送者和接收者的解耦原创 2014-11-19 15:58:05 · 2428 阅读 · 0 评论 -
JAVA设计模式之 访问者模式【Visitor Pattern】
一、概述 访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素通常具有不同的类型,且不同的访问者可以对它们进行不同的访问操作。在使用访问者模式时,被访问元素通常不是单独存在的,它们存储在一个集合中,这个集合被称为“对象结构”,访问者通过遍历对象结构实现对其中存储的元素的逐个操作。访问者模式是一种对象行为型模式。二、适用场景原创 2014-11-15 22:21:32 · 5817 阅读 · 2 评论 -
JAVA设计模式之 状态模式【State Pattern】
一、概述 当系统中某个对象存在多个状态,这些状态之间可以进行转换,而且对象在不同状态下行为不相同时可以使用状态模式。状态模式将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象状态可以灵活变化。状态模式是一种对象行为型模式。二、适用场景 用于解决系统中复杂对象的多种状态转换以及不同状态下行为的封装问题。简单说就是处理对象的多种状态及其相互转换。原创 2014-11-12 23:48:35 · 3645 阅读 · 0 评论 -
JAVA设计模式之 模板方法模式【Template Method Pattern】
一、概述二、适用chuangk原创 2014-11-11 01:09:13 · 3315 阅读 · 2 评论 -
JAVA设计模式之 单例模式【Singleton Pattern】
一、概述二、适用场景原创 2014-11-09 15:08:28 · 1529 阅读 · 0 评论 -
JAVA设计模式之 原型模式【Prototype Pattern】
一、概述: 使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。简单的说就是对象的拷贝生成新的对象(对象的克隆),原型模式是一种对象创建型模式。二、使用场景: 创建新的对象可以通过对已有对象进行复制来获得,如果是相似对象,则只需对其成员变量稍作修改。三、UML结构图:四、参与者(1) Prototype(原创 2014-11-06 00:14:30 · 2690 阅读 · 0 评论 -
JAVA设计模式之 建造者模式【Builder Pattern】
一、概述二、适用原创 2014-10-31 01:15:07 · 4398 阅读 · 0 评论 -
JAVA设计模式之 抽象工厂模式【Abstract Factory Pattern】
一、概述二、适用chang原创 2014-10-19 20:44:21 · 3681 阅读 · 0 评论 -
JAVA设计模式之 工厂方法模式【Factory Method Pattern】
一、概述二、适用场景三、U原创 2014-10-19 01:12:18 · 1712 阅读 · 0 评论 -
JAVA设计模式之 简单工厂模式【Simple Factory Pattern】
一、概述er、适用场景原创 2014-10-18 21:48:02 · 5049 阅读 · 0 评论