深入理解Java设计模式
文章平均质量分 76
大猫的Java笔记(公众号同号)
这个作者很懒,什么都没留下…
展开
-
14.设计模式--中介者模式(Mediator模式)
1.定义 大猫的Java笔记 一个正在努力学习的Java开发,分享自己的学习笔记 44篇原创内容原创 2021-11-09 14:55:32 · 1093 阅读 · 0 评论 -
13.设计模式--外观模式(Facade模式)
1.定义 大猫的Java笔记 一个正在努力学习的Java开发,分享自己的学习笔记 43篇原创内容原创 2021-11-08 15:51:10 · 1106 阅读 · 0 评论 -
12.设计模式--责任链模式(Chain of Responsibility模式)
1.定义 大猫的Java笔记 一个正在努力学习的Java开发,分享自己的学习笔记 42篇原创内容原创 2021-11-08 15:46:09 · 517 阅读 · 0 评论 -
11.设计模式--装饰者模式(Decorator模式)
1.定义 大猫的Java笔记 一个正在努力学习的Java开发,分享自己的学习笔记 43篇原创内容原创 2021-11-08 15:39:11 · 211 阅读 · 0 评论 -
10.设计模式--组合模式(Composite模式)
1.定义 大猫的Java笔记 一个正在努力学习的Java开发,分享自己的学习笔记 43篇原创内容原创 2021-11-08 15:31:01 · 132 阅读 · 0 评论 -
9.设计模式--策略模式(Strategy模式)
1.定义 大猫的Java笔记 一个正在努力学习的Java开发,分享自己的学习笔记 42篇原创内容原创 2021-11-06 17:24:24 · 254 阅读 · 0 评论 -
8.设计模式--桥接模式(Bridge模式)
1.定义 桥接模式是一种结构型模型,现实生活中桥就是连接在河两端方便通行的建筑。 而桥接模式则是对类的功能层次结构和类的实现层次结构中间实现的一个桥梁。类的功能层次结构 所谓类的功能层次结构就是对类进行继承后进行的功能扩展,例如Car(车类),所有车都有启动和停止方法以及转弯等方法。但是现在我有一个特殊的车需要在Car车类的基础上加一个倒车影像功能,此时只需要继承Car类再自己的类中加一个倒车影像即可,此时就是类的功能层次结构。类的实现层次结原创 2021-10-25 20:42:16 · 608 阅读 · 1 评论 -
7.设计模式--抽象工厂模式(AbstractFactory模式)
1.定义 抽象工厂模式也是一种创建型模型,是对工厂的一种抽象,可以理解为生产工厂的工厂。不但工厂是抽象的,产品是抽象的,而且有多个产品需要创建,因此,这个抽象工厂会对应到多个实际工厂,每个实际工厂负责创建多个实际产品。 例如手机和电脑都是通过工厂进行生产的,同时手机和电脑可能属于不同的工厂,但可能是同一个品牌;小米手机和小米电脑属于同一品牌,而华为手机和电脑也属于同一品牌,但是却存在两个维度。 1,产品维度,无论小米手机还是华为原创 2021-10-25 20:40:06 · 3863 阅读 · 0 评论 -
6.设计模式--建造者模式(Builder模式)
1.场景 建造者模式也是一种创建型模型,是将一个复杂的对象的构建与他的表示分离。 举个例子:比如我要写一本书那么写这个书需要书名、作者、标题、内容等,但是这本书要创作完成需要一个人来创作吧,当然这个人就是作者,也可能不是(比如蹭书的编写作者)。至于这个书该怎么写是先写标题还是先写作者或者是内容这个是构建者(作者)来决定的。 建造者模式大多数情况下,都是通过静态内部类来进行实现的。例如现在有一个小说书类,有4个属性name、author、tit原创 2021-10-21 11:41:13 · 170 阅读 · 0 评论 -
5.设计模式--原型模式(prototype模式)
1.场景 大学的时候毕业论文太难写了,所以直接抄同学的,但是这种你并不是一个字一个字的重写。而是使用cv大法(ctrl+c和ctrl+v),直接将毕业论文进行复制粘贴。然后自己就可以安心的去打游戏了。 原型模式是一种创建型模式,例如我们要创建一个Student对象都是采用的new Student();但是有些时候对象的创建十分复杂,这个时候原型模式就登场了,就像毕业论文太长了自己写太麻烦。所以我们选择复制。2.原型模式结构图 Product是原创 2021-10-21 11:18:38 · 130 阅读 · 0 评论 -
4.设计模式--工厂方法模式(FactoryMethod模式)
1.场景 工厂听这个名字就知道一个产生的地方。同样工厂模式也是创建型模式,我们用的电脑、手机、电视等,都是工厂进行生产的。即工厂创造出来的。现在我们需要造一台电脑,工厂生产的时候一般分为2步,第一步硬件的组装,第二步安装电脑对应的操作系统。2.工厂方法结构图3.工厂方法的实现 Factory抽象类用于实现定义电脑生产部步骤,以及生产的方法和安装系统的方法,光看Factory的时候是不是感觉很像模板方法模式。实际上工厂方法和模板方法很相似,只是工厂方法用于创建实例。原创 2021-10-21 11:16:49 · 137 阅读 · 0 评论 -
3.设计模式--适配器模式(adapter模式)
1.场景 适配器模式可能是开发人员用的最多的一种设计模式,做后台开发你可能每天都在使用。只是不知道他的名字;现实中的适配器你应该不会陌生,新款的IQOO 8 pro手机充电器已经达到了120w,实际上充电器就是一个适配器,他的作用就是将家用220v的交流电转换为供手机可以充电使用的直流电。适配器可以理解为就是一个中间协调的工具。 适配器模式分为2种,类适配器(使用继承)和对象适配器(使用委托)2.类适配器结构图3.实现适配器模式 Altern原创 2021-10-21 09:50:27 · 1089 阅读 · 0 评论 -
2.设计模式--模板方法模式(TemplateMethod模式)
1.场景 模板方法模式,听名字就知道这个肯定和模板有关系,有这样一个逻辑,厨师炒菜,炒菜都是先打火,然后放油、放盐、翻炒、起锅、关火无论是我们炒土豆还是青菜,实际上都是按照这个模板来,步骤都是那么几步,都是按照顺序来的。2.模板方式结构图3.实现模板方法模式 TemplateMethod就是炒菜的模板,定义了抽象方法。其中具体的实现是交给子类去做的。TemplateMethod负责模板,就像炒菜模板只给了步骤,具体放多少油、放多少菜、翻炒多少下应该是子类去决定。c原创 2021-10-21 09:45:49 · 141 阅读 · 0 评论 -
1.设计模式--迭代器模式(iterator模式)
1.场景 大多数程序员家里都有很多书籍,但是书多以后,收纳就成了个问题,想要找书的时候,可能在翻遍了整个房间才找到自己想要找的书;所以这种情况就需要一个书架。书架的作用就是放置书,同时在找书的时候也很方便。如果类比一下在书架上找书这个步骤是不是很像代码中的遍历。2.迭代器模式结构图3.实现迭代器模式 Aggregate接口的作用就是表示这是一个集合,或者说只要继承了Aggregate就是一个集合,你可以类比List,就像ArrayList实现于List接口一样。&原创 2021-10-21 09:33:13 · 188 阅读 · 0 评论 -
聊聊这8种单例模式的优缺点
1.什么是单例模式?当我们new一个对象时会帮我们申请内存地址,每一次去new的时候都会构建不同的地址,而单例模式就是每次获取的实例化对象都保证是同一份。常见的单例模式有8种写法,每一种单例模式都有自己的优缺点,下面让我们来看看这8种单例模式。1.饿汉模式(推荐)优点:当类加载到内存后就实例化一个单例,由Jvm保证线程安全,写法超级简单;实际开发中也不会在意是否一定要使用了才进行加载。缺点:可通过反射和反序列化进行更改,不管是否使用,...原创 2020-09-11 15:28:09 · 1594 阅读 · 0 评论