摘要: **装饰者模式: **动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 原则: 对扩展开放,对修改关闭。 问题引入: 购买咖啡时,也可以要求在其中加入各种调料,例如:蒸奶(Steamed Milk)、豆浆(Soy)、摩卡(Mocha,也就是巧克力风味)或覆盖奶泡。星巴兹 阅读全文
posted @ 2021-12-22 20:19 追梦少年阿飞 阅读(100) 评论(0) 推荐(0)
摘要: 实现鸭子的行为 在此,我们有两个接口,FlyBehavior和QuackBehavior,还有它们对应的类,负责实现具体的行为: 这 样 的 设 计 , 可 以 让 飞 行 和 呱 呱 叫 的 动 作 被 其 他的对象复用,因为这些行为已经与鸭子类无关了。而 我 们 可 以 新 增 一 些 行 为 阅读全文
posted @ 2021-12-22 20:16 追梦少年阿飞 阅读(70) 评论(0) 推荐(0)
摘要: 定义: 观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 设计原则 封装变化 多用组合,少用继承 针对接口编程,不针对实现编程 为交互对象之间的松耦合设计而努力 观察者模式提供了一种对象设计,让主题和观察者之间松耦合。 气象站系统 此系统中 阅读全文
posted @ 2021-12-22 20:16 追梦少年阿飞 阅读(294) 评论(0) 推荐(1)
摘要: 转载自 https://blog.csdn.net/Czhenya/article/details/117753263 零代码以“王者荣耀”为例解析设计七原则,助你面试拿“五杀” 前言:一,单一职责原则1.1 举例说明: 惩戒上单1.2 原则解析: 单一职责 二,开放封闭原则2.1 举例说明: 黄刀 阅读全文
posted @ 2021-10-14 15:01 追梦少年阿飞 阅读(75) 评论(0) 推荐(0)
摘要: 参考: https://gitee.com/SnailClimb/JavaGuide Java 集合 1.1. 集合概述 1.1.1. Java 集合概览 从下图可以看出,在 Java 中除了以 Map 结尾的类之外, 其他类都实现了 Collection 接口。并且,以 Map 结尾的类都实现了 阅读全文
posted @ 2021-10-06 17:58 追梦少年阿飞 阅读(80) 评论(0) 推荐(0)
摘要: ref: https://snailclimb.gitee.io/javaguide/#/ https://gitee.com/SnailClimb/JavaGuide/tree/master 史上最全的 Java 面试题 30 专题 基础概念 1.1 Java 语言有哪些特点? 简单易学; 面向对 阅读全文
posted @ 2021-10-06 17:56 追梦少年阿飞 阅读(228) 评论(0) 推荐(0)
摘要: 第八章 多态 *多态通过分离做什么和怎么做,从另一个角度将接口和实现分离开来。*构建可扩展的程序。 封装,是合并属性和行为创建一种新的数据类型,继承是建立数据类型之间的某种关系(is-a),而多态就是这种关系在实际场景的运用。 多态就是把做什么和怎么做分开了;其中,做什么是指调用的哪个方法[play 阅读全文
posted @ 2021-10-06 13:57 追梦少年阿飞 阅读(69) 评论(0) 推荐(0)
摘要: 第九章 接口 抽象类和抽象方法 抽象:从具体事物抽出、概括出它们共同的方面、本质属性与关系等,而将个别的、非本质的方面、属性与关系舍弃,这种思维过程,称为抽象。 这句话概括了抽象的概念,而在Java中,你可以只给出方法的定义不去实现方法的具体事物,由子类去根据具体需求来具体实现。 抽象类除了包含抽象 阅读全文
posted @ 2021-10-06 13:55 追梦少年阿飞 阅读(327) 评论(0) 推荐(2)
摘要: 0.拉取镜像 sudo docker pull mysql:5.7 1.创建存放映射文件夹 mkdir -p mydata/mysql/log mkdir -p mydata/mysql/data mkdir -p mydata/mysql/conf 2.docker run sudo docker 阅读全文
posted @ 2021-10-02 12:22 追梦少年阿飞 阅读(2063) 评论(0) 推荐(0)
摘要: https://www.yuque.com/awescnb https://www.bilibili.com/video/BV1ik4y167BY 阅读全文
posted @ 2021-10-02 12:08 追梦少年阿飞 阅读(70) 评论(0) 推荐(0)