摘要:
APP抽奖问题 1) 假如每参加一次这个活动要扣除用户50积分,中奖概率是10% 2) 奖品数量固定,抽完就不能抽奖 3) 活动有四个状态: 可以抽奖、不能抽奖、发放奖品和奖品领完 4) 活动的四个状态转换关系图 状态模式简介 1) 状态模式(State Pattern):它主要用来解决对象在多种状 阅读全文
posted @ 2022-09-01 15:37
DogLeftover
阅读(19)
评论(0)
推荐(0)
摘要:
Spring框架中SpelExpressionParser使用到了解释器模式 public class Interpreter { public static void main(String[] args) { SpelExpressionParser parser = new SpelExpre 阅读全文
posted @ 2022-09-01 14:05
DogLeftover
阅读(89)
评论(0)
推荐(0)
摘要:
案例类图 代码实现 package com.atguigu.interpreter; import java.util.HashMap; /** * 抽象类表达式,通过HashMap 键值对, 可以获取到变量的值 */ public abstract class Expression { // a 阅读全文
posted @ 2022-09-01 14:04
DogLeftover
阅读(66)
评论(0)
推荐(0)
摘要:
通过解释器模式来实现四则运算,如计算a+b-c的值 1) 先输入表达式的形式,比如 a+b+c-d+e, 要求表达式的字母不能重复 2) 在分别输入a ,b, c, d, e 的值 3) 最后求出结果 传统方案解决四则运算问题 1) 编写一个方法,接收表达式的形式,然后根据用户输入的数值进行解析,得 阅读全文
posted @ 2022-09-01 13:46
DogLeftover
阅读(25)
评论(0)
推荐(0)
摘要:
问题需求 游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当大战Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态 代码实现 package com.atguigu.memento.game; public class Memento { //攻击力 priva 阅读全文
posted @ 2022-09-01 13:27
DogLeftover
阅读(44)
评论(0)
推荐(0)
摘要:
游戏角色状态恢复问题 游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当大战Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态 传统解决方案:1个游侠角色对应1个状态 方案分析 1) 一个对象,就对应一个保存对象状态的对象, 这样当我们游戏的对象很多时,不利于管 阅读全文
posted @ 2022-09-01 11:36
DogLeftover
阅读(31)
评论(0)
推荐(0)
摘要:
方案类图 代码实现 package com.atguigu.mediator.smarthouse; //同事抽象类 public abstract class Colleague { private Mediator mediator; public String name; public Col 阅读全文
posted @ 2022-09-01 11:32
DogLeftover
阅读(24)
评论(0)
推荐(0)
摘要:
智能家电问题 1) 智能家庭包括各种设备,闹钟、咖啡机、电视机、窗帘 等 2) 主人要看电视时,各个设备可以协同工作,自动完成看电视的准备工作,比如流程为:闹铃响起->咖啡机开始做咖啡->窗帘自动落下->电视机开始播放 传统解决方案 闹钟通知TV和咖啡机 咖啡机通知电视机和窗帘 各种设备相互通知 传 阅读全文
posted @ 2022-09-01 11:08
DogLeftover
阅读(20)
评论(0)
推荐(0)
摘要:
查看 @Deprecated(since="9") public class Observable { private boolean changed = false; private Vector<Observer> obs; // 集合 # 查看接口 @Deprecated(since="9") 阅读全文
posted @ 2022-09-01 10:22
DogLeftover
阅读(22)
评论(0)
推荐(0)
摘要:
简介 观察者模式类似订牛奶业务 1) 奶站/气象局:Subject 2) 用户/第三方网站:Observer Subject:登记注册、移除和通知 1) registerObserver 注册 2) removeObserver 移除 3) notifyObservers() 通知所有的注册的用户, 阅读全文
posted @ 2022-09-01 10:20
DogLeftover
阅读(26)
评论(0)
推荐(0)
摘要:
天气预报问题 1) 气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方)。 2) 需要设计开放型API,便于其他第三方也能接入气象站获取数据。 3) 提供温度、气压和湿度的接口 4) 测量数据更新时,要能实时的通知给第三方 传统方案 0) 设计出一个Wea 阅读全文
posted @ 2022-09-01 10:03
DogLeftover
阅读(56)
评论(0)
推荐(0)
摘要:
JDK的ArrayList 集合中就使用了迭代器模式 public class IteratorPattern { @SuppressWarnings("rawtypes") public static void main(String[] args) { // TODO Auto-generate 阅读全文
posted @ 2022-09-01 07:55
DogLeftover
阅读(24)
评论(0)
推荐(0)
摘要:
案例说明 要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系 设计类图 代码实现 package com.atguigu.iterator; public class Department { private String name; private String desc; 阅读全文
posted @ 2022-09-01 07:48
DogLeftover
阅读(21)
评论(0)
推荐(0)
摘要:
学校院系结构展示问题 要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系 传统方式解决 计算机学院 系=> 数组中 信息工程学院 系=> 集合 传统方式利弊 1) 将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的 2) 实际上我们的要求是 :在一个 阅读全文
posted @ 2022-09-01 07:42
DogLeftover
阅读(27)
评论(0)
推荐(0)