Java设计模式
文章平均质量分 92
对于日常设计的一些梳理
lucky.麒麟
一样魔前千古间,独看桑蝶化人间。一叹求魔千万年,几多轮回古葬边。
展开
-
设计模式之行为型:观察者模式(一)
行为型:观察者模式(一)一、模式简介观察者模式也叫发布订阅模式,就是在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会自动收到通知。一般情况来说,被依赖的对象叫做被观察者,依赖的对象叫做观察者。行为型的设计模式主要是为了将不同行为进行解耦,观察者模式将观察者和被观察者进行了解耦。二、使用场景这个模式使用场景很广泛,分两种情况考虑:对于系统中来说我们常见的邮件订阅,事件触发,在spring中常用ApplicationEvent及其相关的类或者使用Guava中的Eve原创 2021-05-16 22:34:34 · 203 阅读 · 0 评论 -
Java设计模式之观察者模式
Java设计模式之观察者模式一、观察者模式简介在《Java与模式》一书中,是这样描述观察者模式的:观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个...原创 2019-11-17 13:50:05 · 163 阅读 · 0 评论 -
Java设计模式之策略模式
Java设计模式之策略模式一、策略模式简介策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,...原创 2019-11-15 16:50:58 · 402 阅读 · 0 评论 -
Java设计模式之建造者模式
Java设计设计模式之建造者模式1. 简介造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同,建造者模式又可以称为生成器模式。2. 建造者模式中的...原创 2019-08-02 07:29:25 · 166 阅读 · 0 评论 -
Java设计模式之三种工厂模式
Java设计模式之工厂模式1. 简单工厂模式1.1 介绍简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行为(代码)在软件开发中,当我们会用到大量的创建某种、某类或者某批对象时,就会使用到工厂模式.1....原创 2019-07-25 07:32:12 · 193 阅读 · 0 评论 -
Java设计模式之单例设计模式
Java设计模式之单例设计模式1. 单例设计模式实现有八种方式:饿汉式(静态常量)饿汉式(静态代码块)懒汉式(线程不安全)懒汉式(线程安全,同步方法)懒汉式(线程安全,同步代码块)双重检查静态内部类枚举2. 饿汉式(静态常量)实现单例2.1. 实现步骤:(1) 构造器私有化(2) 类的内部创建对象(3) 向外暴露一个静态的公共方法。2.2 代码实现class ...原创 2019-07-21 22:25:47 · 150 阅读 · 0 评论 -
UML类图属性和相关关系
UML类图1. 类属性的可见性描述类的属性的可见性:UML中,可见性分为4级public 公用的 :用+ 前缀表示 ,该属性对所有类可见protected 受保护的:用 # 前缀表示,对该类的子孙可见private 私有的:用- 前缀表示,只对该类本身可见package 包的:用 ~ 前缀表示,只对同一包声明的其他类可见[外链图片转存失败(img-mPRbssK...原创 2019-07-21 15:02:48 · 11455 阅读 · 1 评论 -
Java设计模式之模板方法模式
模板方法模式一、简述Template Method模式,模板方法模式。顾名思义,定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。说的通俗一点,就是为子类设计一个模板以便于子类复用里面的方法。为了避免子类恶意修改方法的实现细节,一般模板方法模式都会在方法上加final。GOF给出的模板方法模式的定义如下:定义一个操作中...原创 2019-05-16 18:16:36 · 212 阅读 · 0 评论 -
Java设计模式之观察者模式
Java设计模式之观察者模式一、定义观察者模式:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖它的对象都会得到通知并自动更新。观察者模式的结构中包括中包含四中角色:被观察者(Subject)观察者(Observer)具体被观察者(ConcreteSubject)具体观察者(ConcreteObserver)二、UML 类图三、实例场景微信订阅模式,订...原创 2019-05-09 11:22:43 · 210 阅读 · 0 评论 -
Java设计模式之责任链模式
责任链模式一、简介责任链模式是一种设计模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。二、应用实例红楼梦中的"击鼓传花";Js 中的事件冒泡;Java web 中 A...原创 2019-04-23 19:19:58 · 153 阅读 · 0 评论 -
Java设计模式之适配器模式
适配器模式定义将一个类的接口转换成客户期望的另一个接口使原本接口不兼容的类可以在一起工作类型结构型适用场景已经存在的类,他的方法和需求不匹配时(方法结果相同或者相似)不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品、不同厂家造成功能类似而接口不相同情况下维护方案优点能提高类的透明性和复用,现有的类复用但不需要改变目标类和适配器类解耦,提高程序扩展性...原创 2019-01-24 22:40:52 · 162 阅读 · 0 评论 -
Java设计模式之代理模式
代理模式常见的代理模式远程代理虚拟代理保护代理智能引用代理代理模式实现 —— 静态代理代理和被代理对象在代理之前是确定的。他们都实现相同的接口或者继承相同的抽象类。// 定义一个接口public interface Moveable { public void move();}public class Car implements Moveable { ...原创 2019-01-24 17:05:01 · 596 阅读 · 0 评论 -
java设计模式:抽象工厂模式
抽象接口模式:概念: 提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,它是一种对象创建型模式。在抽象工厂模式结构图中包含如下几个角色:AbstractFactory(抽象工厂):它声明了一组用于创建一族产品的方法,每一个方法对应一种产品。ConcreteFactory(具体工厂):它实现了在抽象工厂中声明的创建产品的方法,生成一组具...原创 2018-06-28 21:01:54 · 192 阅读 · 0 评论 -
java设计模式:简单工程模式
简单工厂模式:概念: 就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。代码:interface Human{ void sleep();}class Man implements Human{ @Override pub...原创 2018-06-28 20:37:12 · 2394 阅读 · 1 评论