GOF23设计模式
文章平均质量分 94
GOF23种设计模式,不断更新中.......
Baret-H
腾讯PCG Cloud IDE 团队,分享后台研发、基础架构、云研发、工程效能的相关知识~
展开
-
彻底玩转单例模式
目录1. 饿汉式2. 懒汉式3. 双重检测锁式4. 静态内部类式--- 反射破坏单例模式,引入枚举单例5. 枚举单例饿汉式:类加载时初始化,不存在并发访问问题,会有资源浪费懒汉式:延时加载,使用时才实例化对象,存在并发访问问题,资源利用率高双重检测锁式 :利用sychronized关键字解决了懒汉式并发访问问题,同时为了解决指令重排问题使用了volatile关键字静态内部类式:兼并并发高效调用和延迟加载的优势枚举单例:实现简单,枚举本身就是单例模式。由JVM从根本上提供保障!避免通过反射和反原创 2021-05-11 10:24:59 · 1707 阅读 · 5 评论 -
GOF23设计模式(创建型模式) 原型模式
一:原型模式的定义二:关于深克隆和深克隆的区别三:反序列化的方式实现深克隆原型模式:通过new产生一个对象需要非常繁琐的数据准备或访冋权限,则可以使用原型模式。就是java中的克隆技术,以某个对象为原型,复制出新的对象。显然,新的对象具备原型对象的特点优势有:效率高(直接克隆,避免了重新执行构造过程步骤).克隆类似于new,但是不同于new。new创建新的对象属性采用的是默认值。克隆出的对象的属性值完全和原型对象相同。并且克隆出的新对象改变不会影晌原型对象。然后,再修改克隆对..原创 2020-06-15 10:34:10 · 760 阅读 · 2 评论 -
GOF23设计模式(创建型模式)建造者模式
使用场景:我们要建造一个复杂的产品,比如生产一辆汽车、一部手机,这都是由很多零部件组成的,这时候就需要用到我们的建造者模式,将每个零部件分别生产,然后再装配~~以下,我将以一个手机的生产过程为实例,这里将手机分为三部分零件, screen屏幕、battery电池、speaker扬声器:首先创建Screen、Battery、Speaker这三个原件类,并根据这三个类创建手机类Phone、package 三_创造者模式;/** * 手机的组成 */public class Phone {原创 2020-06-13 17:23:15 · 768 阅读 · 1 评论 -
GOF23设计模式(创建型模式)工厂模式
目录:一:工厂模式的核心本质二:关于面向对象的六大基本原则三:工厂模式的三大类详解(代码示例,详细分析)首先,上咱本GOF23所有工厂模式的分类表格!!! 创建型模式 单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式 结构型横式 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式 行为型模式 模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式原创 2020-06-12 21:43:09 · 1481 阅读 · 1 评论 -
GOF23设计模式(创建型模式)单例模式
目录:一:单例模式的核心作用、常见应用场景二:五种单例模式及其实现三:关于反射和反序列化破解单例模式的漏洞,以及相应的解决方案四:测试五种单例模式的效率一:核心作用及常见应用场景:核心作用:保证一个类只有一个实例对象,并且提供一个访问该实例对象的全局访问点(获取实例对象的方法),通过该访问点获得对象唯一常见应用场景: 1 Windows的 Task Manager(任务管理器)就是很典型的单例模式(无论打开多少次任务管理器,只会出现一个任务管理器原创 2020-06-11 19:37:23 · 1211 阅读 · 1 评论 -
GOF23设计模式(结构型模式)代理模式~
代理模式应用场景十分广泛,随便一个框架都会用到,因此学好代理模式对后续框架学习是最基本的要素!!今天我们就来讲讲代理模式!目录1、简介1. 核心作用2. 角色分析2. 应用场景4. 分类2、静态代理1. 案例:房东租房2. 优劣分析3. 加深理解3、动态代理1. 简介2. Proxy 类3. InvocationHandler 接口4. 代码示例好处首先,了解以下23种设计模式中代理模式的定位,它是结构性模式1、简介Proxy pattern1. 核心作用通过代理,控制对对象的访问.原创 2020-08-08 17:25:29 · 1716 阅读 · 1 评论