![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
designPattern
文章平均质量分 79
aaaaaaaa0705
这个作者很懒,什么都没留下…
展开
-
Java设计模式—观察者模式(Observer pattern)
观察者模式在软件编程中用的较多,我不善于表达我就用在网上看到的故事,和生活的例子说下基本思想 故事: 小雪是一个非常漂亮的女孩,漂亮的女孩总是有很多的追求者,而且追求者的队伍在不断的变动,随时有人进入这个队伍,也有人退出。男孩们追求女孩时总是表现出120%的关心,当小雪私自游玩时总是不断收到追求者询问小雪位置变动的消息,小雪也不胜其烦,但小雪是如此的一个善良的女孩,她总是打断自己正常的生活回复男孩们的消息。而男孩们由于要不断的关心小雪的位置变化也弄的精疲力竭,而且还影响正常的工作。在这样一个简单的故事场转载 2011-03-27 16:08:00 · 917 阅读 · 0 评论 -
java设计模式之 Composite(组合)
Composite定义: 将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性. Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的转载 2011-08-19 08:07:33 · 534 阅读 · 0 评论 -
JAVA设计模式-Chain of Responsibility
职责链模式顾名思义是一个链条,在这个链条上的所有节点都可以处理请求,但是在某一种情况下,哪一个节点来处理这个请求是运行时决定的,但是客户端不需要知道具体是谁来处理,他只需要将请求交给一个节点就行了,当这个节点可以处理时,它就处理并返回给客户端,当它不能处理时,将这个请求传给职责链转载 2011-08-19 08:31:57 · 481 阅读 · 0 评论 -
java设计模式_命令模式
Java深入到一定程度,就不可避免的碰到设计模式这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解.设计模式在java的中型系统中应用广泛,遵循一定的编程模式,才能使自己的代码便于理解,易于交流,Command(命令模式)模式是比较常用的一个模式.转载 2011-08-19 09:13:04 · 514 阅读 · 0 评论 -
java Memento(备忘录模式)
备忘录模式(Memento) 属于对象的行为模式。 备忘录模式是我觉得最容易理解的一种模式,它的名字取得非常的贴切。1. 定义 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的转载 2011-08-20 10:03:45 · 711 阅读 · 0 评论 -
JAVA设计模式-State
一个对像有不同的状态,不同的状态有不同的行为。也许你会说在方法里加上switch case语句就行了,这样的确能实现这样的方法,但是,就像前面一些设计模式的目的一样,这种方法不具可扩展性,因此我们需要一种设计模式来实现这个功能,并且需要提供可扩展性,因此,就有了状态模式。转载 2011-08-20 10:20:02 · 529 阅读 · 0 评论 -
Java设计模式—模板方法(Template Method)
模板是指在薄片塑料板上面写字后挖空,再使用毛笔或色笔涂满挖空部分,就能看到纯手工而以不失工整的字样,看到模板上的挖空形状,马上就知道最后会变出什么样子的字,不过实际上所显现出来的字样还是要依所使用的画笔种类而定.拿黑色签字笔当画笔,结果当然就是签字笔的字样;当用铅笔来画,得到的也转载 2011-08-19 15:07:10 · 513 阅读 · 0 评论 -
Java设计模式之Visitor
Visitor访问者模式定义 作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作. 在Java中,Visitor模式实际上是分离了collection结构中的元素和对这些元素进行操作的行 为. 为何使用Vis原创 2011-08-19 17:09:35 · 476 阅读 · 0 评论 -
JAVA设计模式学习第四天 设计模式之Mediator——联通篇
中午吃完饭没事,我(133用户)就和 同事张三(130用户)、李四(131用户)一块去高新联通大厅(gaoxinLianTongHall)交手机费。到了高新联通大厅(gaoxinLianTongHall),我们发现因为是中午吃饭时间大厅里只有一个工作人员,因此我们只好一个一个来办转载 2011-08-21 09:18:55 · 656 阅读 · 0 评论 -
Prototype - 原型创建模式
下面来说说Prototype模式。首先还是照旧先来看看牛人想出Prototype模式的意图。用原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象。(G4)场景我们手头上已经得到一个Product实例了,现在我们由于业务的要求,需要再获取若干个完全转载 2011-08-21 16:19:11 · 409 阅读 · 0 评论 -
Java设计模式-----Abstract Factory抽象工厂模式
Abstract Factory抽象工厂模式:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。大致意思是说:我们在创建这些对象的时候,并不需要指定它们的具体类,这些具体类的对象是由工厂对象负责实例化的。例子:view plain转载 2011-08-21 16:01:57 · 466 阅读 · 0 评论 -
23种设计模式 UML 类图及对应示例代码 (一)
1.DoFactory.GangOfFour.Abstract.Structural Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只转载 2011-09-08 10:12:03 · 2201 阅读 · 1 评论 -
Gof 设计模式
Gof 设计模式比较常用的有23种. 一.设计原则1.1 OCP法则. 开闭法则(Open-Closed Principle)一个软件系统应当对扩展开放,对修改关闭优点:原则的描述就是其优点所在,1)通过扩展已有软件系统,可以提供新的行为,以满足转载 2011-09-08 07:50:35 · 1513 阅读 · 0 评论 -
23种设计模式 UML 类图及对应示例代码 (二)
11.DoFactory.GangOfFour.Flyweight.Structural Flyweight:运用共享技术有效的支持大量细粒度的对象。 享元模式:FLYWEIGHT在拳击比赛中指最轻量级。享元模式以共享的方式高效的支持大量的细粒度对象转载 2011-09-08 11:23:25 · 2666 阅读 · 0 评论 -
Java设计模式—模板方法(Template Method)
模板是指在薄片塑料板上面写字后挖空,再使用毛笔或色笔涂满挖空部分,就能看到纯手工而以不失工整的字样,看到模板上的挖空形状,马上就知道最后会变出什么样子的字,不过实际上所显现出来的字样还是要依所使用的画笔种类而定.拿黑色签字笔当画笔,结果当然就是签字笔的字样;当用铅笔来画,得到的也只会是灰黑色的铅笔字;如果用五颜六色的彩色笔,自然能创出让人眼花的多色字.但是,无论使用哪种文具,制作出来的字样都还是脱不了模板上已经固定的形状。 下面我们用例子说明模板方法 程序示例类之间的关系 1.模板类,相当于我们上面转载 2011-03-27 17:14:00 · 3264 阅读 · 1 评论 -
Java 代理模式详解
代理模式是我们比较常用的设计模式之一。其中新思想是为了提供额外的处理或者不同的操作而在实际对象与调用者之间插入一个代理对象。这些额外的操作通常需要与实际对象进行通信,代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装。 真实角色:代理角色所代表的真实对象,是我们最终要转载 2011-03-28 09:59:00 · 5502 阅读 · 1 评论 -
Java设计模式之Facade模式
网上很少有Facade模式的例子,传的最多的就是那个jdbc的例子,不过这个例子我看着憋的慌,为什么?看不懂,我觉得文章不全,不知道怎么的就出来了prep 和 MySql两个类,从头到尾都没看到定义,但是很多网站都有这个例子,难道大家就没考虑一下这个例子对不对就转发吗?这不是太不负责任了吗? 我还是自己写一个例子,因为网上有很多介绍facade模式的文章谈起医院里,挂号,看病,拿药,然后找一个Facade做完这些事情,那么我们就做一个类。首先是三个类,挂号:Registry 看病:Doctor 拿药转载 2011-03-28 17:10:00 · 1256 阅读 · 0 评论 -
java设计模式-桥接模式
本文介绍设计模式中的桥接(Bridge)模式的概念,用法,以及实际应用中怎么样使用桥接模式进行开发。Bridge模式的概念Bridge 模式是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。Bridge模式的应用场景面向对象的程序设计(OOP)里有类继承(子类继承父类)的概念,如果一个类或接转载 2011-03-28 18:59:00 · 8793 阅读 · 9 评论 -
Java设计模式—singleton 单例
整理一下! 饿汉式单例类Java代码 public class SingleManager { private SingleManager() { System.out.println("Singleton!"); } private static final SingleManager instance = new SingleManager(); public static Sin转载 2011-03-27 10:24:00 · 500 阅读 · 0 评论 -
Java设计模式—Factory 买货篇
今天老婆让我去市场买一些水果,具体买什么自己定(哈,老婆放放权了!)。来到市场,我发现主要有一些水果:苹果(Apple),葡萄(Grape)和鸭梨(Pear)。 到底买什么好呢?我一阵思量。俗话说:"饭后一只烟,赛过活神仙。饭后吃苹果,西施见我躲。"为了老婆的漂亮,我决定买苹果。 好,言归正传,开始买吧! 主要有以下三种Factory模式: Simple Factory模式 专门定义一个类来负责创建其它类的实例,被创建的实例通常都具有共同的父类。 Factory Method模式 将对象的创建交由父类中定义转载 2011-03-27 11:42:00 · 610 阅读 · 0 评论 -
Java设计模式—Builder
建造者模式(Builder):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。使用场景:1、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。2、当构造过程必须允许被构造的对象有不同的表示时。通用类图: 举例:我们生活当中有许多设备都是以组装的形式存在的,例如台式电脑,那么有些厂商就会推出一些具有默认配置的组装电脑主机(这里可以用到模板方法模式来实现),顾客可以购买默认配置的产品,也可以要求厂商重新组装一部不同配置不同组装方式的主机。此时,我们就可以使用建造者模式转载 2011-03-27 12:47:00 · 764 阅读 · 0 评论 -
Java设计模式—适配器(Adapter)
如果现在有一台使用12V直流电的笔记本电脑,要将插头接到220V的交流电电源,直接接到电源我想笔记本要报销了。你需要用到一个交流电适配器(AC Adapter)。交流电适配器能够将家用的220V交流电转换成我们需要的12V直流电。适配器的功能就是介入原有电源和需要的电源之间,作为沟通的桥梁。适配器的原文是adapter,代表"适合"的意思。在程序设计中我们也需要用到“适配器”,如果原有的内容无法直接利用时,通常要转换成必要的类型后再使用,实现转换功能的就是 AdapterPatternAdapter Pat转载 2011-03-27 18:04:00 · 882 阅读 · 0 评论 -
Java设计模式之策略模式
当我们掌握了Java的语法,当我们了解了面向对象的封装、继承、多态等特性,当我们可以用Swing、Servlet、JSP技术构建桌面以及Web应用,不意味着我们可以写出面向对象的程序,不意味着我们可以很好的实现代码复用,弹性维护,不意味着我们可以实现在维护、扩展基础上的代码复用。一把刀,可以使你制敌于无形而于江湖扬名,也可以只是一把利刃而使你切菜平静。Java,就是这把刀,它的威力取决于你使用的方式。当我们陷入无尽无止重复代码的泥沼,当我们面临牵一发而动全身的维护恶梦, 你应该想起“设计模式”这个行动秘笈。转载 2011-03-28 14:36:00 · 1116 阅读 · 1 评论 -
Java 设计模式 --装饰模式
装饰模式是对对象功能增强时,平时使用继承的一种替代方案一.UML示意图:二.组成部分:1. 抽象构件:原始的功能接口2. 具体构件:具体的原始功能类3. 装饰角色:持有具体构件类的对象,以便执行原有功能4.转载 2011-08-21 17:56:37 · 606 阅读 · 0 评论