![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
营琪
好好学习,天天向上,过犹不及!
展开
-
复习:GoF的23种设计模式之Decorator模式(结构型)
Decorator模式(装饰、修饰)定义:一种动态地往一个类中添加新地行为(功能)的设计模式。装饰模式相比生成子类更灵活,这样可以给某个对象而不是整个类添加一些功能。Decorator模式和Composite模式很类似,都是实现容器与内容、装饰与被装饰的一致性,可以再次查看文章:复习:GoF的23种设计模式之Composite模式(结构型)。Decorator模式实现类继承再编译时增加行为...原创 2019-12-26 16:03:01 · 192 阅读 · 0 评论 -
复习:GoF的23种设计模式之Composite模式(结构型)
Composite模式(合成、混合)Composite模式例子这个模式和我们的文件系统类似,我们将文件夹当作容器,单一文件当作内容,文件夹中可以迭代放入文件夹,文件夹可以放入内容。Composite模式:能够使容器与内容具有一致性,创造出递归结构。示例代码:public class CompositeTest { public static void main(S...原创 2019-12-25 10:08:54 · 214 阅读 · 0 评论 -
复习:GoF的23种设计模式之Strategy模式(行为型)
Strategy模式(策略)策略模式:指对象的某种行为,对象在不同的场景有不同实现算法。如 自己 在女朋友身边会表现充满爱意,一种想保护的行为; 自己 在妈妈身边会表现感恩父母养育,一种不愿父母继续辛苦工作的行为; 自己 在陌生女性身边会表现,会先思考对方是否需要帮助的状态。上面自己在不同场景三种行为,也可看作整体地替换算法。自己是抽象地,在不同场景实现不同算法。...原创 2019-12-24 19:44:55 · 175 阅读 · 0 评论 -
复习:GoF的23种设计模式之Bridge模式(结构型)
Bridge模式(桥梁)谈这个模式前,我们先讨论一下,子类继承父类这个问题?当父类存在抽象方法时,子类继承父类,子类一般是实现父类的抽象方法。 当父类非抽象类时,子类继承父类,子类一般是增加功能(方法)。假如:我们经常继承父类,有实现父类抽象方法的,也有继承父类增加方法(功能)的。那么会出现如下图的层次结构:不恰当的层次结构这个一种不恰当的层次结构,因为第二次实现抽象类方法的...原创 2019-12-23 11:25:51 · 148 阅读 · 0 评论 -
复习:GoF的23种设计模式之AbstractFactory模式(创建型)
AbstractFactory模式(抽象工厂)在23种模式中,我感觉是最难的,当时还循环看了几次。you准备好!!抽象工厂定义;提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂简单讲:就是一组Factory Method模式(工厂方法)的集合,要是不认识工厂方法模式,或者没回忆起工厂方法模式的你,请右转复习:GoF的23种设计模式之Factory Metho...原创 2019-12-22 16:19:21 · 148 阅读 · 1 评论 -
复习:GoF的23种设计模式之Builder模式(创建型)
Builder模式(生成)我们创建复杂的对象时,会使用到此Builder模式,定义:它可以将复杂对象的初始化过程 抽象出来,使这个抽象过程的不同实现方法可以构建不同的表现(属性)对象。通过一步步构建,最终完成对象的构建。后面可以与抽象工厂做对比。其实,还是有点绕,那就先认定一点builder模式==创建复杂对象,再往下看。灵魂作图示例代码:public class Bui...原创 2019-12-21 15:30:42 · 162 阅读 · 0 评论 -
复习:GoF的23种设计模式之Prototype模式(创建型)
闲扯一下,我们都吃过月饼吧,那大家知道月饼是怎么制作出来的吗?(以前的工艺)我小时候有经历过月饼的制作,提前买好面粉、糖、摸具、鸭蛋黄等,将面粉揉成团然后再用杆搓成面皮,将鸭蛋黄、糖配料什么的一股脑的卷成一团,用面皮包裹好,再使用模具整好形状,烤至金黄,出锅开吃。Prototype模式(原型)上面讲的使用模具整理好月饼,也可以看做一个原型模式,我们制作模具的过程,就已经完成了一个形状满...原创 2019-12-20 15:01:18 · 155 阅读 · 0 评论 -
复习:GoF的23种设计模式之Singleton模式(创建型)
Singleton模式(单例)此模式也是我们不知不觉就会使用到的设计模式,例如我们将 配置文件映射为对象时,全局获取配置信息都使用此相同的对象。单例模式,使用在,单例对象的类确保任何情况下都绝对只有同一个实例,整个系统都使用同一个对象。也就是 一个类只能有一个引用和一个实例方法。单例模式在Java中有两种方式根据单例对象的类初始化的不同分为两种构建方式:懒汉方式,指系统启动完成...原创 2019-12-19 23:42:10 · 158 阅读 · 0 评论 -
复习:GoF的23种设计模式之Factory Method模式(创建型)
Factory Method模式(工厂方法)这个模式我们有一个熟悉的名称,叫工厂模式,将生成实例的框架和实际负责生成实例的类解耦。概念比较难理解,我大概用自己的语言总结一下,一个工厂,必然就有产品,假如就是一个大闸蟹吧,现在大闸蟹那么贵,以至于每一个大闸蟹都有一个身份验证码,由这个码我们可以查到地址、水质、健康状态等等信息。现在有个问题,我们怎么生成这个码呢?也就是怎么生成大闸蟹这个类...原创 2019-12-19 21:30:02 · 199 阅读 · 0 评论 -
复习:GoF的23种设计模式之Template Method模式(行为型)
Template Method模式 (模型)我们先介绍什么是模板就如我们打开CSDN的每一个页面,都有一个已备案提醒的尾标,每一个页面都有,那么是不是每个页面都去添加相同的代码呢?答:不是的,我们先写一个模板,此模板就具有尾标,我们每个页面都是借助这个母模板,那么我们就不需要手动的去添加了。那什么是 Template Method(模型)模式答:在父类中定义处理流程的框架...原创 2019-12-18 23:48:57 · 132 阅读 · 0 评论 -
复习:GoF的23种设计模式之adapter模式(结构型)
adapter模式(适配器模式)什么是适配器模式呢?? 我先讲一个小小的生活常识吧,我们现在的家用电源是交流电220V的,电子元件大都是使用直流电的,就好比笔记本电脑,电源线上加有一个大大的适配器。此适配器的作用:将220V的交流电(被适配)转换(适配器)为24V的直流电(需求)。在设计模式中,适配器模式,是将一个类的接口转换成用户所需要的,使得两个不同接口的类能再次一起工作。有两类适...原创 2019-12-17 11:56:36 · 132 阅读 · 0 评论 -
复习:GoF的23种设计模式之iterator模式(行为型)
iterator模式(迭代器模式)就如java集合中的iterator类似,是一种最简单也是最常用的设计模式。它可以让用户通过的特定接口轮询容器中的每一个元素,而不需要了解底层实现。例如: 遍历一个数组 int count = 5; String[] att = new String[count]; for (int i = 0; i &...原创 2019-12-16 14:17:56 · 121 阅读 · 0 评论