随笔 - 1162  文章 - 0  评论 - 16  阅读 - 59万 

随笔分类 -  设计模式2

第三节:模板模式——在Spring框架应用
摘要:模板模式在Spring框架应用的源码分析 1、Spring IOC 容器初始化时运用到的模板方法模式 2、流程 3、类图 阅读全文
posted @ 2021-02-06 14:48 格物致知_Tony 阅读(129) 评论(0) 推荐(0) 编辑
第二节:模板模式——模板模式应用
摘要:一、需求分析 1、应用实例要求 编写制作豆浆的程序,说明如下: 制作豆浆的流程:选材——>添加配料——>浸泡——>放到豆浆机打碎 通过添加不同的配料,可以制作出不同口味的豆浆 选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的(红豆豆浆、花生豆浆...) 2、分析与类图 二、代码实 阅读全文
posted @ 2021-02-06 14:45 格物致知_Tony 阅读(107) 评论(0) 推荐(0) 编辑
第一节:模板模式——需求说明&基本介绍
摘要:一、需求说明 编写制作豆浆的程序,说明如下: (1)制作豆浆的过程:选材 ——>添加配料 ——>浸泡——>放到豆浆机打碎 (2)通过添加不同的配料,可以制作不同口味的豆浆 (3)选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的 (4)使用模板方法完成 二、模板方法模式基本介绍 1 阅读全文
posted @ 2021-02-06 14:31 格物致知_Tony 阅读(85) 评论(0) 推荐(0) 编辑
第六节:代理模式——总结
摘要:代理模式——总结 阅读全文
posted @ 2021-02-03 22:02 格物致知_Tony 阅读(51) 评论(0) 推荐(0) 编辑
第五节:代理模式——代理模式的变体
摘要:几种常见的代理模式介绍——几种变体 1、防火墙代理 内网通过代理穿透防火墙,实现对公网的访问; 2、缓存代理 比如:当请求图片文件等资源时,仙道缓存代理取,如果取到资源则 OK,如果取不到资源,再到公网或者数据库取,然后缓存下来。 3、远程代理 远程对象的本地代表,通过它可以把远程对象当本地对象来调 阅读全文
posted @ 2021-02-03 22:00 格物致知_Tony 阅读(77) 评论(0) 推荐(0) 编辑
第四节:代理模式——cglib代理
摘要:一、Cglib 代理模式的基本介绍 1、静态代理和 JDK 代理模式都要求目标对象是实现一个接口,但是有时候目标对象只是一个单独的对象,并没有实现任何的接口,这个时候可使用目标对象子类来实现代理,这就是 Cglib 代理。 2、Cglib 代理也叫作子类代理,它是在内存中构建一个子类对象从而实现对目 阅读全文
posted @ 2021-02-03 21:56 格物致知_Tony 阅读(265) 评论(0) 推荐(0) 编辑
第三节:代理模式——动态代理
摘要:一、动态代理模式的基本介绍 1、代理对象,不需要实现接口,但是目标对象要实现接口,否则不能动态代理; 2、代理对象的生成,是利用 JDK 的 API,动态的在内存中构建代理对象; 3、动态代理也叫做:JDK 代理、接口代理 4、实现步骤 (1)代理对象和真实对象实现相同的接口; (2)代理对象 = 阅读全文
posted @ 2021-02-02 21:38 格物致知_Tony 阅读(165) 评论(0) 推荐(0) 编辑
第二节:代理模式——静态代理
摘要:一、静态代理 1、静态代理在使用时,需要定义接口或者父类,被代理对象(即目标对象)与代理对象一起实现相同的接口或者是继承相同父类。 二、应用实例 1、具体要求 (1)定义一个接口:ITeacherDAO (2)目标对象 TeacherDAO 实现接口 ITeacherDAO (3)使用静态代理方式, 阅读全文
posted @ 2021-02-01 21:49 格物致知_Tony 阅读(484) 评论(0) 推荐(0) 编辑
第一节:代理模式——基本介绍
摘要:一、代理模式的基本介绍 1、代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象,这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能; 代理模式:代理对象代理真实对象,达到增强真实对象功能的目的 真实对象:被代理的对象 代理对象:代理 阅读全文
posted @ 2021-02-01 21:36 格物致知_Tony 阅读(135) 评论(0) 推荐(0) 编辑
第四节:享元模式——总结
摘要:享元模式的注意事项和细节 1、在享元模式这样理解,“享” 就表示共享,“元”表示对象; 2、系统中有大量对象,这些对象消耗大量内存,并且对象的状态大部分可以外部化时,我们就可以考虑选用享元模型; 3、用唯一标识码判断,如果在内存中有,则返回这个唯一标识码所标识的对象,用 HashMap/HashTa 阅读全文
posted @ 2021-01-31 17:11 格物致知_Tony 阅读(86) 评论(0) 推荐(0) 编辑
第三节:享元模式——源码分析
摘要:一、享元模式在 JDK-Integer的应用源码分析 1、Integer 中的享元模式 2、代码分析 先来看下面一个案例: 1 public class FlyWeight { 2 public static void main(String[] args) { 3 4 // 如果 Integer. 阅读全文
posted @ 2021-01-31 17:09 格物致知_Tony 阅读(108) 评论(0) 推荐(0) 编辑
第二节:享元模式——基本介绍&应用
摘要:一、享元模式基本介绍 1、基本介绍 (1)享元模式(FlyWeight Pattern)也叫 蝇量模式:运用共享技术有效地支持大量细粒度的对象; (2)常用于系统底层开发,解决系统的性能问题。像数据库连接池,里面都是创建好的连接对象,在这些连接对象中有我们需要的则直接拿过来用,避免重新创建,如果没有 阅读全文
posted @ 2021-01-31 16:53 格物致知_Tony 阅读(222) 评论(0) 推荐(0) 编辑
第一节:享元模式——需求说明
摘要:一、展示网站项目需求 小型的外包项目,给客户 A 做一个产品展示网站,客户 A 的朋友感觉效果不错,也希望做这样的产品展示网站,但是要求都有些不同: (1)有客户要以新闻的形式发布; (2)有客户人要求以博客的形式发布; (3)有客户希望以微信公众号的形式发布; 二、传统方式解决网站展现项目 (1) 阅读全文
posted @ 2021-01-31 15:26 格物致知_Tony 阅读(68) 评论(0) 推荐(0) 编辑
第四节:外观模式—总结
摘要:一、外观模式的注意事项和细节 1、外观模式对外屏蔽了子系统的细节,因此外观模式降低了客户端对子系统使用的复杂性; 2、外观模式对客户端与子系统的耦合关系——解耦,让子系统内部的模块更易维护和扩展; 3、通过合理的使用外观模式,可以帮我们更好的划分访问的层次; 4、当系统需要进行分层设计时,可以考虑使 阅读全文
posted @ 2021-01-28 22:28 格物致知_Tony 阅读(70) 评论(0) 推荐(0) 编辑
第三节:外观模式在 MyBatis 框架应用
摘要:一、外观模式在 MyBatis 框架应用的源码分析 1、MyBatis 中的 Configuration 去创建 MetaObject 对象使用到外观模式 2、代码分析 3、对源码中使用到的外观模式的角色类图 阅读全文
posted @ 2021-01-28 22:08 格物致知_Tony 阅读(124) 评论(0) 推荐(0) 编辑
第二节:外观模式应用
摘要:一、传统方式解决影院管理说明 1、外观模式可以理解为转换一群接口,客户只要调用一个接口,而不用调用多个接口才能达到目的。比如:在 PC 删安装软件软件的时候经常有一键安装选项(省去选择安装目录、安装的组件等),还有就是手机的重启功能(把关机和启动合为一个操作)。 2、外观模式就是解决多个复杂接口带来 阅读全文
posted @ 2021-01-27 22:39 格物致知_Tony 阅读(195) 评论(0) 推荐(0) 编辑
第一节:外观模式——需求说明&基本介绍
摘要:一、需求说明 组建一个家庭影院: DVD 播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为: 直接用遥控器:统筹各设备开关 ① 开爆米花机; ② 放下屏幕; ③ 开投影仪; ④ 开音响; ⑤ 开 DVD,选 dvd; ⑥ 去拿爆米花; ⑦ 调暗灯光; ⑧ 播放; 阅读全文
posted @ 2021-01-26 22:33 格物致知_Tony 阅读(115) 评论(0) 推荐(0) 编辑
第四节:组合模式—总结
摘要:一、组合模式的注意事项和细节 1、简化客户端操作。客户端只需要面对一致的对象而不用考虑整体部分或者节点叶子的问题。 2、具有较强的扩展性。当我们要更改组合对象时,我们只需要调整内部的层次关系,客户端不用做出任何改动。 3、方便创建出复杂的层次结构。客户端不用理会组合里面的组成细节,容易添加节点或者叶 阅读全文
posted @ 2021-01-26 22:12 格物致知_Tony 阅读(106) 评论(0) 推荐(0) 编辑
第三节:组合模式在 JDK的源码分析
摘要:一、组合模式在 JDK 集合的源码分析 1、Java 的集合类 HashMap 就使用了组合模式 2、代码分析 + Debug 源码 1 public class Composite { 2 3 public static void main(String[] args) { 4 5 Map<Int 阅读全文
posted @ 2021-01-26 22:06 格物致知_Tony 阅读(195) 评论(0) 推荐(0) 编辑
第二节:组合模式应用
摘要:一、需求说明 应用实例要求: 编写程序展示一个学校院系结构:要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系。 二、组合模式应用 1、思路分析和图解 2、代码实现 Component 组件抽象类: 1 public abstract class OrganizationCom 阅读全文
posted @ 2021-01-25 23:08 格物致知_Tony 阅读(117) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示