09 2021 档案

摘要:反射(Java.Reflection) 静态VS动态语言 动态语言 是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。 主要动态语言:Object-C、C#、JavaScript 阅读全文
posted @ 2021-09-17 00:12 白泽爱划水 阅读(36) 评论(0) 推荐(0)
摘要:注解(Java.Annotation) 什么是注解 Annotation是从JDK5.0开始引入的新技术。 Annotation的作用: ➢不是程序本身,可以对程序作出解释(这一点和注释(comment)没什么区别)。 ➢可以被其他程序(比如:编译器等)读取。 Annotation的格式: ➢注解是 阅读全文
posted @ 2021-09-15 23:13 白泽爱划水 阅读(48) 评论(0) 推荐(0)
摘要:4.21职责链模式 4.21.1OA系统采购审批需求 学校OA系统的采购审批项目:需求是 采购员采购教学器材。 如果金额小于等于5000,由教学主任审批。 如果金额小于等于10000,由院长审批。 如果金额小于等于30000,由副校长审批。 如果金额超过30000以上,有校长审批。 类图 4.21. 阅读全文
posted @ 2021-09-15 13:58 白泽爱划水 阅读(57) 评论(0) 推荐(0)
摘要:4.20策略模式 4.20.1鸭子问题 编写鸭子项目,具体要求如下: 有各种鸭子(比如野鸭、北京鸭、水鸭等,鸭子有各种行为,比如叫、飞行等)。 显示鸭子的信息。 类图 4.20.2策略模式 基本介绍 策略模式(Strategy Pattern)中,定义算法族(策略组),分别封装起来,让他们之间可以互 阅读全文
posted @ 2021-09-15 00:04 白泽爱划水 阅读(150) 评论(0) 推荐(0)
摘要:4.19状态模式 4.19.1APP抽奖活动问题 请编写程序完成APP抽奖活动具体要求如下: 假如每参加一次这个活动要扣除用户50积分,中奖概率是10%。 奖品数量固定,抽完就不能抽奖。 活动有四个状态:可以抽奖、不能抽奖、发放奖品和奖品领完。 状态转换图 类图 4.19.2状态模式 基本介绍 状态 阅读全文
posted @ 2021-09-15 00:02 白泽爱划水 阅读(45) 评论(0) 推荐(0)
摘要:4.18解释器模式 4.18.1四则运算问题 通过解释器模式来实现四则运算,如计算a+b-c的值,具体要求 先输入表达式的形式,比如a+b+c-d+e,要求表达式的字母不能重复 在分别输入a,b,c,d,e的值 最后求出结果 类图 解决方案:可以考虑使用解释器模式,即:表达式- > 解释器(可以有多 阅读全文
posted @ 2021-09-14 23:58 白泽爱划水 阅读(67) 评论(0) 推荐(0)
摘要:4.17备忘录模式 4.17.1游戏角色状态恢复问题 游戏角色状态恢复问题 游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当大战Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态。 类图 4.17.2备忘录模式 基本介绍 备忘录模式(Memento Patte 阅读全文
posted @ 2021-09-13 23:04 白泽爱划水 阅读(67) 评论(0) 推荐(0)
摘要:4.16中介者模式 4.16.1智能家庭管理问题 智能家庭项目: 智能家庭包括各种设备,闹钟、咖啡机、电视机、窗帘等。 主人要看电视时,各个设备可以协同工作,自动完成看电视的准备工作,比如流程为:闹铃响起->咖啡机开始做咖啡-> 窗帘自动落下->电视机开始播放。 类图 4.16.2中介者模式 基本介 阅读全文
posted @ 2021-09-12 17:38 白泽爱划水 阅读(56) 评论(0) 推荐(0)
摘要:4.15观察者模式 4.15.1天气预报项目需求 天气预报项目需求,具体要求如下: 气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方)。 需要设计开放型API,便于其他第三方也能接入气象站获取数据。 提供温度、气压和湿度的接口。 测量数据更新时,要能实时 阅读全文
posted @ 2021-09-11 23:15 白泽爱划水 阅读(52) 评论(0) 推荐(0)
摘要:4.14迭代器模式 4.14.1看一个具体需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系。 4.14.2迭代器模式 基本介绍 迭代器模式(Iterator Pattern)是常用的设计模式,属于行为型模式。 如果我们的集合元素 阅读全文
posted @ 2021-09-10 22:24 白泽爱划水 阅读(48) 评论(0) 推荐(0)
摘要:4.13访问者模式 4.13.1访问者模式 基本介绍 访问者模式(Visitor Pattern),封装一些作用于某种数据结构的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。 主要将数据结构与数据操作分离,解决数据结构和操作耦合性问题。 访问者模式的基本工作原理是:在被访 阅读全文
posted @ 2021-09-09 22:32 白泽爱划水 阅读(118) 评论(0) 推荐(0)
摘要:4.12命令模式 4.12.1智能生活项目需求 看一个具体的需求 我们买了一 套智能家电,有照明灯、风扇、冰箱、洗衣机,我们只要在手机上安装app就可以控制对这些家电工作。 这些智能家电来自不同的厂 家,我们不想针对每一种家电都安装一个App,分别控制,我们希望只要一个app就可以控制全部智能家电。 阅读全文
posted @ 2021-09-08 21:14 白泽爱划水 阅读(63) 评论(0) 推荐(0)
摘要:4.11模板方法模式 4.11.1豆浆制作问题 编写制作豆浆的程序,说明如下: 制作豆浆的流程选材-->添加配料-->浸泡-->放到豆浆机打碎。 通过添加不同的配料,可以制作出不同口味的豆浆。 选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的,使用模板方法模式完成。 类图 4.1 阅读全文
posted @ 2021-09-07 22:14 白泽爱划水 阅读(144) 评论(0) 推荐(0)
摘要:4.10代理模式 4.10.1代理模式 基本介绍 代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象。 代理模式 阅读全文
posted @ 2021-09-06 22:04 白泽爱划水 阅读(80) 评论(0) 推荐(0)
摘要:4.9享元模式 4.9.1展示网站项目需求 小型的外包项目,给客户A做一个产品展示网站,客户A的朋友感觉效果不错,也希望做这样的产品展示网站,但是要求都有些不同: 有客户要求以新闻的形式发布。 有客户人要求以博客的形式发布。 有客户希望以微信公众号的形式发布。 4.9.2传统方案解决网站展现项目-问 阅读全文
posted @ 2021-09-05 21:28 白泽爱划水 阅读(166) 评论(0) 推荐(0)
摘要:4.8外观模式 4.8.1影院管理项目 组建一个家庭影院: DVD播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的 功能,其过程为: ●直按用遥控器:统筹各设备开关 ●开爆米花机 ●放下屏幕 ●开投影仪 ●开音响 ●开DVD,选DVD ●去拿爆米花 ●调暗灯光 ●播放 ●观影结 阅读全文
posted @ 2021-09-04 21:50 白泽爱划水 阅读(74) 评论(0) 推荐(0)
摘要:4.7组合模式 4.7.1学校院系展示需求 看一个学校院系展示需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系。 传统解决方式 将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的。 实际上我们的要求是 阅读全文
posted @ 2021-09-03 22:27 白泽爱划水 阅读(42) 评论(0) 推荐(1)
摘要:4.6装饰者模式 4.6.1星巴克咖啡订单项目 星巴克咖啡订单项目(咖啡馆) : 咖啡种类/单品咖啡:Espresso(意 大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡) 调料:Milk、Soy(豆 浆)、Chocolate 要求在扩展新的咖啡种类时,具有 阅读全文
posted @ 2021-09-02 21:49 白泽爱划水 阅读(44) 评论(0) 推荐(1)