
04 SpringBoot框架及设计模式
SpringBoot
你看我会发光i
大鹏一日同风起,扶摇直上九万里
展开
-
设计模式学习笔记24 - Java版之职责链模式
文章目录1. 需求2. 传统方案2.1 方案2.2 分析3. 职责链模式3.1 基本介绍3.2 原理类图3.3 解决OA审批问题3.4 细节1. 需求学校OA系统的采购审批项目:需求是采购员采购教学器材如果金额 小于等于5000, 由教学主任审批 (0<=x<=5000)如果金额 小于等于10000, 由院长审批 (5000<x<=10000)如果金额 小于等...原创 2020-03-14 18:55:39 · 246 阅读 · 0 评论 -
设计模式学习笔记23 - Java版之策略模式
文章目录1. 需求2. 传统方案2.1 方案2.2 分析3. 策略模式3.1 基本介绍3.2 原理类图3.3 解决需求3.4 细节1. 需求编写鸭子项目,具体要求如下有各种鸭子(比如 野鸭、北京鸭、水鸭等, 鸭子有各种行为,比如 叫、飞行等)显示鸭子的信息2. 传统方案2.1 方案2.2 分析其它鸭子,都继承了Duck类,所以fly让所有子类都会飞了,这是不正确的上面说的...原创 2020-03-14 18:40:53 · 166 阅读 · 0 评论 -
设计模式学习笔记22 - Java版之状态模式
文章目录1. 需求2. 状态模式2.1 基本介绍2.2 原理类图2.3 解决抽奖问题2.4 细节1. 需求请编写程序完成APP抽奖活动 具体要求如下:假如每参加一次这个活动要扣除用户50积分,中奖概率是10%奖品数量固定,抽完就不能抽奖活动有四个状态: 可以抽奖、不能抽奖、发放奖品和奖品领完活动的四个状态转换关系图2. 状态模式2.1 基本介绍状态模式(State Pat...原创 2020-03-14 18:25:12 · 107 阅读 · 0 评论 -
设计模式学习笔记21 - Java版之解释器模式
文章目录1. 需求2. 传统方案3. 解释器模式3.1 基本介绍3.2 原理类图3.3 实现四则运算3.4 细节1. 需求通过解释器模式来实现四则运算,如计算a+b-c的值,具体要求先输入表达式的形式,比如 a+b+c-d+e, 要求表达式的字母不能重复在分别输入a ,b, c, d, e 的值最后求出结果2. 传统方案编写一个方法,接收表达式的形式,然后根据用户输入的数值进...原创 2020-03-14 18:13:37 · 241 阅读 · 0 评论 -
设计模式学习笔记20 - Java版之备忘录模式
文章目录1. 需求2. 传统方案2.1 方案2.2 分析3. 备忘录模式3.1 基本介绍3.2 原理类图3.3 实际应用3.4 细节1. 需求游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当大战Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态2. 传统方案2.1 方案2.2 分析一个对象,就对应一个保存对象状态的对象, 这样当我们游戏的对象...原创 2020-03-14 16:33:18 · 408 阅读 · 0 评论 -
设计模式学习笔记19 - Java版之中介者模式
文章目录1. 需求2. 传统方案2.1 方案2.2 分析3. 中介者模式1. 需求智能家庭包括各种设备,闹钟、咖啡机、电视机、窗帘 等主人要看电视时,各个设备可以协同工作,自动完成看电视的准备工作,比如流程为:闹铃响起->咖啡机开始做咖啡->窗帘自动落下->电视机开始播放2. 传统方案2.1 方案2.2 分析当各电器对象有多种状态改变时,相互之间的调用关系会...原创 2020-03-14 13:48:04 · 244 阅读 · 0 评论 -
设计模式学习笔记18 - Java版之观察者模式
文章目录1. 天气预报需求2. 传统方案2.1 代码2.2 分析3. 观察者模式3.1 原理3.1.1 Subject {登记注册、移除和通知}3.1.2 Observer {接收输入}3.1.3 总结3.2 观察者模式解决天气预报需求3.2.1 原理类图3.2.2 代码1. 天气预报需求气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方)需要设...原创 2020-03-14 13:37:30 · 107 阅读 · 0 评论 -
设计模式学习笔记17 - Java版之迭代器模式
文章目录1. 需求2. 传统设计方案2.1 方案2.2 分析3. 迭代器模式3.1 基本介绍3.2 原理类图3.3 应用实例3.3.1 原理类图3.3.2 代码3.4 注意事项1. 需求要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系2. 传统设计方案2.1 方案2.2 分析将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的实际...原创 2020-03-14 13:00:12 · 157 阅读 · 0 评论 -
设计模式学习笔记16 - Java版之访问者模式
文章目录1. 歌手评分需求2. 传统方案分析2.1 方案2.2 分析3. 访问者模式3.1 基本介绍3.2 解决歌手评分1. 歌手评分需求将观众分为男人和女人,对歌手进行测评,当看完某个歌手表演后,得到他们对该歌手不同的评价(评价 有不同的种类,比如 成功、失败 等)2. 传统方案分析2.1 方案2.2 分析如果系统比较小,还是ok的,但是考虑系统增加越来越多新的功能时,对代码...原创 2020-02-25 14:28:03 · 321 阅读 · 0 评论 -
设计模式学习笔记15 - Java版之命令模式
文章目录1. 智能生活需求2. 命令模式2.1 基本介绍2.2 原理类图2.3 解决智能生活需求2.4 细节1. 智能生活需求我们买了一套智能家电,有照明灯、风扇、冰箱、洗衣机,我们只要在手机上安装app就可以控制对这些家电工作这些智能家电来自不同的厂家,我们不想针对每一种家电都安装一个App,分别控制,我们希望只要一个app就可以控制全部智能家电要实现一个app控制所有智能家电的需要,...原创 2020-02-24 14:35:13 · 114 阅读 · 0 评论 -
设计模式学习笔记14 - Java版之模板模式
文章目录1. 豆浆制作问题2. 模板模式2.1 基本介绍2.2 原理类图2.3 解决豆浆制作问题1. 豆浆制作问题制作豆浆的流程 选材—>添加配料—>浸泡—>放到豆浆机打碎通过添加不同的配料,可以制作出不同口味的豆浆选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的2. 模板模式2.1 基本介绍模板方法模式(Template Method P...原创 2020-02-24 09:37:38 · 122 阅读 · 0 评论 -
设计模式学习笔记13 - Java版之代理模式
文章目录1. 代理模式1.1 基本介绍1. 代理模式1.1 基本介绍代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象代理模式有不同的形式, 主要有三种 静态代理、动态代理 (JDK代理、接口代理)和 ...原创 2020-02-22 20:07:35 · 211 阅读 · 0 评论 -
设计模式学习笔记12 - Java版之享元模式
文章目录1. 展示网站项目需求1. 展示网站项目需求原创 2020-02-20 16:35:59 · 132 阅读 · 0 评论 -
设计模式学习笔记11 - Java版之外观模式
文章目录1. 影院管理项目1. 影院管理项目原创 2020-02-19 15:28:59 · 124 阅读 · 0 评论 -
设计模式学习笔记10 - Java版之组合模式
文章目录1. 需求: 学校院系展示2. 传统的方案3. 组合模式3.1 基本介绍1. 需求: 学校院系展示在一个页面中展示学校院系的组成. 学校有多个院系, 每个院系有多个专业…2. 传统的方案将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的实际上我们的要求是 :在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系, 因此这种方案,不能...原创 2020-02-18 15:04:07 · 152 阅读 · 0 评论 -
设计模式学习笔记09 - Java版之装饰者模式
文章目录1. 介绍1. 介绍原创 2020-02-17 17:37:14 · 132 阅读 · 0 评论 -
设计模式学习笔记08 - Java版之桥接模式
文章目录1. 手机问题2. 传统方式解决2.1 UML类图2.2 分析3. 桥接模式3.1 基本介绍3.2 原理类图3.3 桥接模式解决手机问题1. 手机问题现在对不同手机类型的不同品牌实现操作编程(比如: 开机、关机、上网,打电话等)2. 传统方式解决2.1 UML类图2.2 分析扩展性问题(类爆炸),如果我们再增加手机的样式(旋转式),就需要增加各个品牌手机的类,同样如果我...原创 2020-02-17 13:53:50 · 149 阅读 · 0 评论 -
设计模式学习笔记07 - Java版之适配器模式
文章目录1. 插座问题1. 插座问题泰国的插座是两口的, 中国是三口的, 去泰国怎么使用充电器?买个多功能转换插头(适配器) 就OK了原创 2020-02-13 16:00:23 · 158 阅读 · 0 评论 -
设计模式学习笔记06 - Java版之建造者模式
文章目录1. 需求1. 需求原创 2020-02-10 12:21:33 · 189 阅读 · 0 评论 -
设计模式学习笔记05 - Java版之原型模式
文章目录1. 克隆羊问题2. 基本介绍1. 克隆羊问题克隆三个一模一样的羊, 代码如下:package com.liyang;public class Sheep { private String name; private int age; private String color; public Sheep() { super(); } public Sheep...原创 2020-02-08 15:17:12 · 147 阅读 · 0 评论 -
设计模式学习笔记04 - Java版之工厂模式
文章目录1. 简单工厂模式1.1 基本介绍1.2 案例:2. 工厂方法模式1. 简单工厂模式1.1 基本介绍简单工厂模式属于创建型模式, 是工厂模式的一种. 简单工厂模式是由一个工厂对象决定创建哪一个产品类的实例, 简单工厂模式是工厂模式家族中最简单实用的模式简单工厂模式: 定义一个创建对象的类, 由这个类来封装实例化对象的行为软件开发中, 我们大量创建某类 或 某批对象就会用到工行模...原创 2020-02-06 13:02:15 · 124 阅读 · 0 评论 -
设计模式学习笔记03 - Java版之单例模式
文章目录1. 单例模式介绍2. 单例模式的八种方式2.1 饿汉式 - 静态常量2.2 饿汉式 - 静态代码块2.3 懒汉式 - 线程不安全2.4 懒汉式 - 线程安全2.5 懒汉式 - 同步代码块2.6 双重检查2.7 静态内部类2.8 枚举3. 单例模式注意事项1. 单例模式介绍单例模式就是采用一定的方法, 保证整个软件系统中, 对某个类只能存在一个对象实例, 并且该类只存在一个取得其对象实...原创 2020-02-05 17:36:35 · 107 阅读 · 0 评论 -
设计模式学习笔记02 - Java版之UML类图
文章目录1. 基本介绍1. 基本介绍原创 2020-02-04 16:23:21 · 414 阅读 · 1 评论 -
设计模式学习笔记01 - Java版之七大原则介绍
文章目录1. 设计模式的七大原则1.1 设计模式的目的1.2 设计模式七大原则1.2.1 单一职责原则1.2.2 接口隔离原则1. 设计模式的七大原则1.1 设计模式的目的让程序软件具有更好的代码重用性: 相同功能代码不要多次编写可读性: 编程规范性, 便于他人阅读可扩展性: 当需要增加新的功能时非常方便,成本低可靠性: 当我们增加新的功能后,对原来的功能不能有影响高内聚, 低耦...原创 2020-02-04 14:48:11 · 223 阅读 · 0 评论