摘要: 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)
摘要: 集合简介 什么是集合?(理解) 简称集,是用来存储多个元素的容器 集合和数组的区别(理解) 元素类型 集合:引用类型(存储基本类型时自动装箱) 数组:基本类型、引用类型 元素个数 集合:不固定,可任意扩容 数组:固定,不能改变容量 集合的好处 不受容器大小限制,可以随时添加、删除元素 提供了大量操作 阅读全文
posted @ 2021-01-23 23:19 白泽爱划水 阅读(62) 评论(1) 推荐(0)