![](https://img-blog.csdnimg.cn/a781d214692b41c9a42c6ee0c0c5ee01.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
尚硅谷Java设计模式
文章平均质量分 79
记录在B站学习尚硅谷网课设计模式的学习笔记,一起加油啊
小智RE0
慎独
展开
-
尚硅谷设计模式学习(1)---[设计模式七大原则]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!目录1.单一职责原则2.接口隔离原则3.依赖倒置原则设计模式就是对软件设计中普遍存在(反复出现)的问题,提出的解决方案.面向对象 = =>功能模块[设计模式+算法(数据结构)]= =>框架[使用到多种设计模式]= = >架构 [服务器集群]设计模式的目的是为了 提高代码的可重用性 (相同功能的代码提取出来), 可读性 (编写程序时规范书写),可扩展原创 2021-09-21 22:40:48 · 609 阅读 · 0 评论 -
尚硅谷设计模式学习(2)---[UML类图]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!目录1.UML类图类和类之间的依赖关系(Dependence)类与类之间的泛化关系(继承)(Generalization)类与类之间的继承关系(Implementation)类与类之间的关联关系(Association)类与类之间的聚合关系(Aggregation)1.UML类图UML——Unified modeling language UML(统一建模语言),用来表示设原创 2021-09-22 13:16:53 · 298 阅读 · 0 评论 -
尚硅谷设计模式学习(3)---[单例模式]
????????????尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤????????????最近开始计划学习一下设计模式了,加油!!!目录单例模式????1.饿汉式(静态常量版)????2.饿汉式(静态代码块版)????3.懒汉式(线程不安全版)????4.懒汉式(线程安全之同步方法版)????5.懒汉式(线程安全之同步代码块版)????6.双重检查版????7.静态内部类版????8.枚举版单例模式一个类把自己的构造方法隐藏起来;这个类仅存在一个对象实例原创 2021-09-23 01:42:38 · 523 阅读 · 0 评论 -
尚硅谷设计模式学习(4)---[简单工厂模式,工厂方法模式,抽象工厂模式]
????????????尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤????????????最近开始计划学习一下设计模式了,加油!!!目录????简单工厂模式????工厂方法模式????简单工厂模式从披萨店的案例引入工厂模式,进入学习披萨的种类很多(比如 GreekPizza、CheesePizza 等)披萨的制作有 prepare(准备材料工作),bake(烘烤工作), cut(切片工作), box(包装工作)完成披萨店订购功能。先分析传统原创 2021-09-23 15:15:59 · 504 阅读 · 0 评论 -
尚硅谷设计模式学习(5)--- [原型模式(Prototype模式),深拷贝与浅拷贝]
????????????尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤????????????最近开始计划学习一下设计模式了,加油!!!目录原型模式原型模式引入浅拷贝深拷贝实现深拷贝之 重写clone方法实现深拷贝之 序列化对象法原型模式由克隆羊问题分析原型模式现在有一只羊tom,姓名为: tom, 年龄为:1,颜色为:白色,请编写程序创建和tom羊 属性完全相同的10只羊。传统思路;直接new一个羊的对象; 拿过来依赖(使用)即可;后面向"克隆这原创 2021-09-23 21:35:03 · 315 阅读 · 0 评论 -
尚硅谷设计模式学习(6)---[建造者模式(Builder Pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!目录原创 2021-09-24 13:24:41 · 281 阅读 · 0 评论 -
尚硅谷设计模式学习(7) --- [类适配器模式、对象适配器模式、接口适配器模式]
????????????尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤????????????最近开始计划学习一下设计模式了,加油!!!目录????类适配器模式????对象适配器模式????接口适配器模式适配器模式(Adapter Pattern);又称为包装器(Wrapper)是将某个类的接口转换为 客户端需要的接口; 以达到兼容的效果;让类与类之间可以达到协同操作.比如说生活中的多功能转换器;从用户的角度看不到被适配者,是解耦的????类适配器模原创 2021-09-25 20:13:24 · 214 阅读 · 0 评论 -
尚硅谷设计模式学习(8)---[桥接模式(Bridge)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!目录情景引入情景引入现在市面上有各种各样的手机传统思路分析 不同的种类手机先画图...原创 2021-09-26 13:16:16 · 263 阅读 · 0 评论 -
尚硅谷设计模式学习(9)---[装饰者模式]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!目录情景引入装饰者模式装饰者模式在Io中的应用情景引入星巴克咖啡订单项目(咖啡馆):1.咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡)2.调料:Milk、Soy(豆浆)、Chocolate3.要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便4.使用OO的来计算不同种原创 2021-09-26 16:18:31 · 203 阅读 · 0 评论 -
尚硅谷设计模式学习(10)---[组合模式(Composite Pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!目录情景引入组合模式组合模式在HashMap中的应用情景引入编写程序展示一个学校院系结构:要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系。传统思路分析不能很好实现的管理的操作组合模式把学校、院、系都看做是组织结构,他们之间没有继承的关系,而是一个树形结构,可以更好的实现管理操作。关于组合模式::又称为部分与整体模式,将对原创 2021-09-27 15:02:11 · 213 阅读 · 0 评论 -
尚硅谷设计模式学习(11)---[外观模式(Facade)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!目录情景引入情景引入原创 2021-09-27 22:45:48 · 234 阅读 · 0 评论 -
尚硅谷设计模式学习(12)---[享元模式(Flyweight Pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!目录情景引入享元模式情景引入小型的外包项目,给客户A做一个产品展示网站,客户A的朋友感觉效果不错,也希望做这样的产品展示网站,但是要求都有些不同:有客户要求以新闻的形式发布有客户人要求以博客的形式发布有客户希望以微信公众号的形式发布传统思路分析按照传统思路,直接使用客户A的网站项目进行拷贝使用;但是这些网站的基本结构大体相同,相当于是创建了多个实例对原创 2021-09-28 13:44:07 · 531 阅读 · 2 评论 -
尚硅谷设计模式学习(13)---[代理模式(Proxy)---静态代理,动态代理,Cglib代理]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!目录代理模式静态代理动态代理Cglib代理代理模式代理模式:给一个对象提供副本,通过这个 副本对象 来控制 真实对象 的访问。那么就算是想要扩展新的内容或功能,在副本对象上修改即可.(可理解为分身,可通过分身找到本体,对于分身的管理操作会影响到本体,)被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象具体可分为3种:静态代理动态代理 (JDK代理、接原创 2021-09-28 22:07:06 · 300 阅读 · 0 评论 -
尚硅谷设计模式学习(14)---[模板方法模式(Template Method Pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!目录模板方法模式先看一个流程化 豆浆的制作问题制作豆浆的流程 选材—>添加配料—>浸泡—>放到豆浆机打碎通过添加不同的配料,可以制作出不同口味的豆浆选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的那么就得引入模板方法模式.模板方法模式在一个上层的抽象类定义了执行它的方法的模板。子类可按需分配 重写方法实现,但是在调用原创 2021-09-29 21:24:03 · 203 阅读 · 0 评论 -
尚硅谷设计模式学习(15)---[命令模式(Command Pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!目录命令模式先看一个案例买了一套智能家电,有照明灯、风扇、冰箱、洗衣机,只要在手机上安装app就可以控制对这些家电工作。这些智能家电来自不同的厂家,但是不想针对每一种家电都安装一个App,分别控制,希望只要一个app就可以控制全部智能家电。看起来像是外观模式,但是又不一样,外观模式中是加一层接口后,在接口中定义几个方法;可以直接操控流程.这里要实现一个app控制所有智能原创 2021-10-02 21:11:58 · 205 阅读 · 1 评论 -
尚硅谷设计模式学习(16)---[访问者模式(Visitor Pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!由一个案例引入;在一个表演结束后,由男观众与女观众分别对参赛选手打分;通过;不通过;待定;若是按这种传统模式设计的话,增加观众分类或者添加新的评分类型时,就要修改比较多的地方;违反开闭原则.那么来看看访问者模式.访问者模式将数据结构与数据操作分离,在被访问的类里面加一个对外提供接待访问者的接口访问者模式符合单一职责原则;提高了程序的扩展性、灵活性.但原创 2021-10-04 15:05:42 · 200 阅读 · 0 评论 -
尚硅谷设计模式学习(17)---[迭代器模式(Iterator Pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!这次的案例就是之前学习组合模式用到的案例==>但是这次要使用的是迭代器模式 解决问题.迭代器模式提供一种遍历集合元素的统一接口,用一致的方法遍历集合元素,无需了解集合对象的底层表示,即:不暴露其内部的结构.适合于集合元素是用不同的方式实现的情况原理Iterator : 迭代器接口,API提供的...原创 2021-10-04 18:09:27 · 188 阅读 · 0 评论 -
尚硅谷设计模式学习(18)---[观察者模式( observer pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!ml情景引入观察者模式情景引入天气预报项目需求:1 气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(发布到自己的网站或第三方)2 需要设计开放型API,便于其他第三方也能接入气象站获取数据。3 提供温度、气压和湿度的接口4 测量数据更新时,要能实时的通知给第三方先试试用传统方案解决问题,在得到数据后就更新到气象站CurrentCond原创 2021-10-05 10:43:26 · 182 阅读 · 0 评论 -
尚硅谷设计模式学习(19)---[中介者模式(Mediator Pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!案例智能家庭项目:智能家庭包括各种设备,闹钟、咖啡机、电视机、窗帘等例如看电视之前,各个设备可以协同工作,自动完成看电视的准备工作,完成一系列流程工作.这样的案例类似于之前的外观模式(电影院案例);先看另一个案例;比如说;某人要去租房,但是房主A要和房主B去商量,房主B要和房主C商量;现在让中介者来解决问题;中介直接和三个房主分别沟通;减少了子系统之间的原创 2021-10-05 17:44:39 · 219 阅读 · 1 评论 -
尚硅谷设计模式学习(20)---[备忘录模式(Memento Pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!ml备忘录模式案例引入:例如游戏中的玩家状态恢复:游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当打斗Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态.按照传统思路解决的话,创建一个对象,就得对应地创建它相应状态的对象,要是备份的数据量对象较多,过于复杂.备忘录模式捕获一个对象的内部状态,并在该对象之外保存这个状态.原创 2021-10-06 12:12:55 · 175 阅读 · 0 评论 -
尚硅谷设计模式学习(21)---[解释器模式(Interpreter Pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!解释器模式给定语言(表达式),定义它的表示,并定义解释器,使用该解释器来解释语言中的句子(表达式).Context可以包含解释器之外的其他数据信息.缺点:解释器模式会引起类膨胀;采用递归调用方法,将会导致调试非常复杂;效率降低简易计算器案例抽象的表达式类AbstractExpression/** * @author by CSDN@小智RE0 */原创 2021-10-06 21:36:17 · 188 阅读 · 1 评论 -
尚硅谷设计模式学习(22)---[状态模式(State Pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!状态模式来解决对象在多种状态转换时,需要对外输出不同的行为的问题。状态和行为一一对应,状态之间可以相互转换.原理图当一个对象的内在状态改变时,允许改变其行为,这个对象看起来就像是改变了这个类.当一个对象有很多种状态,状态之间还会相互转换,对不同的状态要求有不同的行为,可考虑用状态模式解决一个案例APP抽奖活动 具体要求:1假如每参加一次这个活动要扣除用户5原创 2021-10-07 11:30:14 · 220 阅读 · 1 评论 -
尚硅谷设计模式学习(23)---[策略模式(strategy pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!ml情景引入策略模式情景引入关于鸭子的问题鸭子有各种种类= =>比如 野鸭、北京鸭、水鸭,玩具鸭,冲鸭;…鸭子有各种行为动作,比如跑步,飞行…传统方式解决问题鸭子抽象类Duck//鸭子类;public abstract class Duck { public Duck() { } //鸭子的信息; public ab原创 2021-10-08 13:02:17 · 225 阅读 · 0 评论 -
尚硅谷设计模式学习(24)---[职责链模式(Chain of Responsibility Pattern)]
尚硅谷传送门==>B站尚硅谷Java设计模式❤❤❤感谢尚硅谷❤❤❤最近开始计划学习一下设计模式了,加油!!!原创 2021-10-08 13:02:51 · 187 阅读 · 1 评论 -
设计模式初步学习结束--->尚硅谷Java设计模式总结MarkDown笔记分享;(包括UML类图)
设计模式初步学习结束笔记来自此处专栏处导入==>https://blog.csdn.net/mrtumnus/category_11371608.html?spm=1001.2014.3001.5482= = =>设计模式学习专栏做的笔记(MarkDown版本)画过的UML类图(iodraw)打包存储了==> 可下载链接:https://pan.baidu.com/s/1iRdS_xckGiz5CnCmqd-sOg提取码:lzq0或点击链接==>小智RE0.原创 2021-10-08 13:07:43 · 284 阅读 · 0 评论