设计模式
设计模式的基本概念、应用场景和应用实例
W墨眉W
这个作者很懒,什么都没留下…
展开
-
工厂模式——简单工厂模式、工厂方法模式和抽象工厂模式
1、简述 工厂模式包括简单工厂模式、工厂方法模式和抽象工厂模式,属于创建型模式。 2、不使用工厂模式 (1)类图分析 一个接口Computer,接口有两个实现类HP和Apple,同时有一个测试类Client。不使用工厂模式时,在Client中直接通过new操作符类创建HP和Apple类的实例。 (2)代码展示 Computer接口: package com.factory; public interface Computer { void comput原创 2020-09-05 23:37:05 · 429 阅读 · 0 评论 -
单例模式
1、单例模式定义 单例模式可定义为:一个类只有一个实例,并且该类能够自行创建此实例的模式。在Java中,单例模式可以保证一个类在JVM中只有一个实例对象存在。 一般情况下,我们定义一个普通的类之后,当需要该类的实例对象时只需要通过new操作符就可以获得此类的一个实例对象,这是因为Java类都包含一个或一个以上的构造方法,构造方法用于构造该类的实例对象,Java语言通过new关键字来调用构造方法,从而返回该类的实例对象。还需要明确的是,当没有在类中自定义构造方法时候,系统会为类提供一个默认的无参构原创 2020-09-05 23:32:11 · 125 阅读 · 0 评论 -
建造者模式——案例分析与代码演示
1、概述 建造者模式多用在对象构成比较复杂的场景中,比如汽车、电脑等包含的组件数量和种类很多很大的情形下。建造者(Builder)模式的定义如下,把一个复杂对象的构造与它的装配分离,使同样的构造过程可以创建不同的装配,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象(小的组件),然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。 由于实现了构建和装配的解耦,不同的构建器相同的装配,可以产生不同的对象;相同的构建器,不同的装配顺原创 2020-09-05 22:41:44 · 165 阅读 · 0 评论 -
代理模式——案例分析与代码演示
1、代理模式定义 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。比如租房中介,我们想租房的时候找租房中介,租房中介是户主的代理,代替户主带着租客看房、签约等后续后续操作。此模式的UML图如下: 2、代理模式的使用场景 (1)控制访问:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。 (2)功能增强(符合开闭原则...原创 2020-09-05 22:19:35 · 303 阅读 · 0 评论 -
修饰者模式——案例分析和代码演示
1、产生原因 此设计模式模式的产生是为了解决一个问题:扩展类的行为和方法的问题。我们知道,如果想扩展一个类或者对象的行为,可以采用继承的方式来实现,但是这个方式有局限性,继承是静态的,在编译的时候子类的行为已经是确定的了,不便于控制增加行为的方式和时机。 修饰者模式的产生就是为了解决上述问题,此模式可以将一个对象嵌入到另一个对象中,由另一个对象来决定是否引用该对象来扩展自己的行为。这是一种动态...原创 2020-04-06 16:58:28 · 223 阅读 · 0 评论 -
观察者模式——案例分析和代码演示
1、什么是观察者模式: (1)案例: 案例1:当前疫情严重,全部各个省区开学时间未定,但是各省区的开学时间要根据教育部的规定来制定,所以当教育部发布开学通知后,各省教育厅也会发布本省的开学计划。 案例2:一些公司的假期安排和国家法定节假日的安排不一致,在这种情况下,员工在公司没有发布放假通知的时候,一般不会轻易的安排假期出行计划,当看到公司的放假安排后,公司内员工就...原创 2020-04-06 09:07:16 · 396 阅读 · 0 评论