自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 设计模式-结构型模式 命令模式

智能生活项目需求 我们买了一套智能家电,有照明灯、风扇、冰箱、洗衣机,我们只要在手机上安装 app 就可以控制对这些家电工作。 这些智能家电来自不同的厂家,我们不想针对每一种家电都安装一个 App,分别控制,我们希望只要一个 app就可以控制全部智能家电。 要实现一个 app 控制所有智能家电的需要,则每个智能家电厂家都要提供一个统一的接口给 app 调用,这时 就可以考虑使用命令模式。 命令模式可将“动作的请求者”从“动作的执行者”对象中解耦出来. 在我们的例子中,动作的请求者是手机 app,动

2021-06-29 19:49:13 163 1

原创 设计模式-结构型模式 模板方法模式

豆浆制作问题 编写制作豆浆的程序,说明如下: 制作豆浆的流程 选材--->添加配料--->浸泡--->放到豆浆机打碎 通过添加不同的配料,可以制作出不同口味的豆浆 选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的 请使用 模板方法模式 完成 (说明:因为模板方法模式,比较简单,很容易就想到这个方案,因此就直接使用, 不再使用传统的方案来引出模板方法模式 ) 模板方法模式基本介绍 模板方法模式(Template Method Pat...

2021-06-28 23:12:48 94 1

原创 设计模式-结构型模式 代理模式

代理模式(Proxy) 代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象 代理模式有不同的形式, 主要有三种 静态代理、动态代理 (JDK 代理、接口代理)和 Cglib 代理 (可以在内存动态的创建对象,而不需要实现接口, 他是属于动态代理的范畴) 。 代理模式示意图 静态代理 静态代码模式的基本介绍..

2021-06-28 22:03:01 112 1

原创 设计模式-结构型模式 享元模式

展示网站项目需求 小型的外包项目,给客户 A 做一个产品展示网站,客户 A 的朋友感觉效果不错,也希望做这样的产品展示网站,但是要求都有些不同: 有客户要求以新闻的形式发布 有客户人要求以博客的形式发布 有客户希望以微信公众号的形式发布 传统方案解决网站展现项目 直接复制粘贴一份,然后根据客户不同要求,进行定制修改 给每个网站租用一个空间 方案设计示意图 统方案解决网站展现项目-问题分析 需要的网站结构相似度很高,而且都不是高访问量网站,如果分成多个虚拟空间来处理,相当于一个相同网站

2021-06-27 23:12:19 109 1

原创 设计模式-结构型模式 外观模式

影院管理项目 组建一个家庭影院: DVD 播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为: 直接用遥控器:统筹各设备开关 开爆米花机放 下 屏 幕 开 投 影 仪 开音响 开 DVD,选 dvd 去拿爆米花 调 暗 灯 光 播放 观影结束后,关闭各种设备 传统方式解决影院管理 传统方式解决影院管理问题分析 在 ClientTest 的 main 方法中,创建各个子系统的对象,并直接去调用子系统(对象)相关方法,会造成调用过程混乱,没

2021-06-27 22:08:37 112 1

原创 设计模式-结构型模式 组合模式

看一个学校院系展示需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院, 一个学院有多个系。如图: 传统方案解决学校院系展示(类图) 传统方案解决学校院系展示存在的问题分析 将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的 实际上我们的要求是 :在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系,此这种方案,不能很好实现的管理的操作,比如对学院、系的添加,删除,遍历等 解决方案:把

2021-06-26 12:21:19 382

原创 设计模式-结构型模式(7)装饰者模式

星巴克咖啡订单项目(咖啡馆): 咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡) 调料:Milk、Soy(豆浆)、Chocolate 要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便 使用OO的来计算不同种类咖啡的费用: 客户可以点单品咖啡,也可以单品咖啡+调料组合 方案1-解决星巴克咖啡订单问题分析 Drink 是一个抽象类,表示饮料 des就是对咖啡的描述, 比如咖啡的名字 cost() 方法就是计算

2021-06-26 10:34:13 109

原创 多线程进阶=》JUC并发编程02

在JUC并发编程01中说到了,什么是JUC、线程和进程、Lock锁、生产者和消费者问题、8锁现象、集合类不安全、Callable(简单)、常用辅助类、读写锁 https://blog.csdn.net/qq_45441466/article/details/117197861 10、阻塞队列 阻塞队列:BlockingDeque 什么情况下我们会使用阻塞队列: 多线程并发处理,线程池! 学会使用队列 添加、移除 四组API 方式 抛出异常 由返回值 阻塞等待 超时等待 添加 add

2021-06-03 22:49:06 198 1

原创 多线程进阶=》JUC并发编程01

1、什么是JUC java.util.concurrent在并发编程中使用的工具类 进程/线程回顾 https://www.cnblogs.com/minmin123/p/11411321.html 2、进程/线程回顾 进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 一个程序,QQ.exe Music.exe 程序的集合,一个进程往往可以包含多个线程,至少包含一个!...

2021-06-01 19:18:54 177

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除