设计模式
无悔_一叶扁舟
人生有一种追求不是功名利禄,而是一生无悔不为昨天而后悔,不为明天而迷茫把握好今天,谨慎的走好人生的每一步
展开
-
设计模式学习笔记(1) --单例设计模式
1.最基本的单例模式:package com.skiff.www;/** * @author 一叶扁舟(skiff) * @ClassName: Singleton * @Description:单例设计模式 * 有三个要点: * 1.一个类必须只有一个实例 * 2.这个类必须自己创建实例对象 * 3.这个类能够自行向整个系统提供访问这个实例的方法 * * * @cr...原创 2018-10-18 22:45:34 · 142 阅读 · 0 评论 -
设计模式学习笔记(15)--中介者模式
1.定义中介者模式(Mediator Pattern)定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。2.uml图3.示例代码比如相亲找对象,中介者是媒婆,那么媒婆肯定有男女双方的联系方式,然后比较条件看是否合适package co...原创 2019-03-07 11:24:55 · 208 阅读 · 0 评论 -
设计模式学习笔记(14)--适配器模式
1.定义适配器模式(Adapter Pattern) :将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。2.uml图3.代码:(1).适配器模式很像电源适配器,220V的电压无法直接使用,那么用一个电源适配器,转换成12V的电压pac...原创 2019-03-06 22:26:30 · 418 阅读 · 0 评论 -
设计模式学习笔记(13)--桥接设计模式
1.定义桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。2.uml图3.代码:package com.wuhuiskiff.www.bridge.code.car;/** * @Auther: 一叶扁舟 * @Dat...原创 2019-03-06 16:32:57 · 194 阅读 · 0 评论 -
设计模式学习笔记(10)--观察者模式
1.观察者模式定义 观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式是一种对...原创 2019-02-13 21:44:22 · 921 阅读 · 0 评论 -
设计模式学习笔记(12)--代理设计模式
1.定义 代理模式(Proxy Pattern) :给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式的英文叫做Proxy或Surrogate,它是一种对象结构型模式。2.uml图3.代码上图简单代码实现(静态代理):package com.wuhuiskiff.www.proxy.code.simple;/** * @Auther: 一...原创 2019-02-18 12:42:36 · 283 阅读 · 0 评论 -
设计模式学习笔记(9)--策略模式
1.定义策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。策略模式是一种对象行为型模式。 2.UML图3.代码package com.wuhuiskiff.www.strategy.code.algorithm;/** * @Auther:...原创 2019-02-11 23:46:58 · 143 阅读 · 0 评论 -
设计模式学习笔记(8)--装饰模式
1.定义 装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper),与适配器模式的别名相同,但它们适用于不同的场合。它是一种对象结构型模式。 2.UML图(1)组件的uml图(2)变形金刚的uml图3....原创 2019-02-11 23:38:20 · 172 阅读 · 0 评论 -
设计模式学习笔记(11)--享元模式
1.享元模式 享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。2.uml图 3.代码package com.wuhuiskiff.www.fl...原创 2019-02-15 21:46:29 · 272 阅读 · 0 评论 -
设计模式学习笔记(7)--建造者模式
1.定义 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同,建造者模式又可以称为生成器模式。2.UML图 3.代码pa...原创 2018-11-11 15:44:33 · 240 阅读 · 0 评论 -
设计模式学习笔记(6)--原型模式
1.定义原型模式(Prototype Pattern):原型模式是一种对象创建型模式,用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式允许一个对象再创建另外一个可定制的对象,无须知道任何创建的细节。 原型模式的基本工作原理是通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝原型自己来实现创建过程。 2.UML图3.代码...原创 2018-11-11 11:19:13 · 158 阅读 · 0 评论 -
设计模式学习笔记(5) --计算器的设计模式(简单工厂,工厂方法)
1.面向过程的计算器package com.skiff.www.factory.calculator;import java.util.Scanner;/** * @Auther: 一叶扁舟 * @Date: 2018/11/1 20:23 * @Description: 简单的计算器 * */public class Calculator {public stat...原创 2018-11-01 21:51:27 · 3098 阅读 · 0 评论 -
设计模式学习笔记(2) --简单工厂
1.定义:简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。2.UML图:3.代码:package com.skiff.www.facto...原创 2018-10-30 22:43:20 · 141 阅读 · 0 评论 -
设计模式学习笔记(4) --抽象工厂
1.定义:产品等级结构:产品等级结构即产品的继承结构,如一个抽象类是电视机,其子类有海尔电视机、海信电视机、TCL电视机,则抽象电视机与具体品牌的电视机之间构成了一个产品等级结构,抽象电视机是父类,而具体品牌的电视机是其子类。由不同工厂生产的同一类型的产品。产品族:在抽象工厂模式中,产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品,如海尔电器工厂生产的海尔电视机、海尔电冰箱,...原创 2018-10-31 23:48:53 · 178 阅读 · 0 评论 -
设计模式学习笔记(3) --工厂方法
1.定义:工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定...原创 2018-10-31 22:52:22 · 167 阅读 · 0 评论 -
设计模式学习笔记(16)--责任链模式
1.定义职责链模式(Chain of Responsibility Pattern):避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。由于英文翻译的不同,职责链模式又称为责任链模式,它是一种对象行为型模式。2.uml图3.示例代码:示例:审批假条 某OA系统需要提供一个假条审批的...原创 2019-03-07 15:53:34 · 634 阅读 · 0 评论