JAVA设计模式大全
以实战为主,加深对设计模式的学习和理解,学会总结,做好笔记,编程需要沉淀
低调网友
移动开发从入门到破门而出
展开
-
JAVA设计模式大总结(二十三)--- b站尚硅谷设计模式之 职责链模式 图解 + 代码 整理(超详)
项目引入:传统解决方案:引入职责链模式:职责链模式解决方案:代码:小结:声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-20 00:13:38 · 1896 阅读 · 0 评论 -
JAVA设计模式大总结(二十二)--- b站尚硅谷设计模式之 策略模式 图解整理(超详)
项目引入:传统实现:问题分析:策略模式登场:这里类图已经特别详细了,至于代码不难实现,看图敲代码谁不会?反正我会我就不做详细切图仔了小结:个人认为对于策略模式,咱只要基于接口隔离+聚合+分析咱也能写出扩展性和可读性和维护性良好的代码!声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-19 21:58:19 · 325 阅读 · 0 评论 -
JAVA设计模式大总结(二十一)--- b站尚硅谷设计模式之 状态模式 图解 + 代码 整理(超详)
项目引入:此处就是需要状态相互转来转去状态模式解决上述需求:代码:状态模式 借贷平台的实现:小结:声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-19 21:42:44 · 649 阅读 · 0 评论 -
JAVA设计模式大总结(二十)--- b站尚硅谷设计模式之 解释器模式 图解 (不详,仅有部分便于了解)
声明:由于解释器模式所用到的场合都是在利用一些牛逼的逻辑对一些操作或者命令指令进行解释(即对一些类似加密指令进行输出等)因此逻辑操作完全是要靠自己。这里我就简单的了解这种模式,然后把原理跟类图总结一下,不做太多阐述基本介绍:类图:解释器模式做计算器:剩下的以后慢慢悟吧声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-19 20:25:02 · 464 阅读 · 0 评论 -
JAVA设计模式大总结(十九)--- b站尚硅谷设计模式之 备忘录模式 图解 + 代码 整理(超详)
项目引入:所以传统方式问题分析:引出备忘录模式:实现代码:基于上述笔记,咱自己利用备忘录模式去实现上述需求是完全没问题的。代码十分相似,反正我没问题,我就不做详细切图仔了。只给类图,不能再多了小结:声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-19 20:15:11 · 1292 阅读 · 0 评论 -
JAVA设计模式大总结(十八)--- b站尚硅谷设计模式之 中介者模式 图解+小项目需求的代码整理(超详)
项目引入:传统模式的表述是,我要做一件事得去征求A的意见,但是A要去征求B的意见,B要去征求C的意见…这样对接起来很麻烦,所有要想个办法,把对接的事情都交给中介去做,最后我只要征求中介的意见就行了,其他的事情我不管,A,B,C也直接跟中介对接就行不用一传一传来传去所有中介者模式就登场啦中介者模式解决上述需求:代码:小结:声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-19 19:54:11 · 551 阅读 · 0 评论 -
JAVA设计模式大总结(十七)--- b站尚硅谷设计模式之 观察者模式 图解 + 小项目的代码整理(超详)
项目引入:普通解决方案:传统方代码:问题分析:也就是说违法了ocp原则因此观察者模式登场:观察者模式解决上述问题:部分核心代码:比如:观察者解决的好处:声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-19 11:55:06 · 513 阅读 · 0 评论 -
JAVA设计模式大总结(十六)--- b站尚硅谷设计模式之 迭代器模式 图解+小项目的代码实现 整理(超详)
项目引入:声明:本次要解决的问题是 存放的数据结构不一样要怎样实现统一遍历那么为了不暴露底层结构,迭代器模式霸气登场!迭代器原理:迭代器模式解决上述问题:代码实现:第一个迭代器:第二个迭代器:接口:输出类:客户端调用:小结:声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-19 11:32:35 · 971 阅读 · 0 评论 -
JAVA设计模式大总结(十五)--- b站尚硅谷设计模式之 访问者模式 图解+小项目的代码实现 整理(超详)
项目引入:传统方案问题:说白了我要是把人再分类一下,小孩等,还有再加评判规则,待定等,就要改代码,比较麻烦,专业说辞就是不利于维护因此引出我们这盘文章的主角–访问者模式:访问者模式解决上述需求:客户端代码:双分派:不用钻研,双分派只是个概念。 说白了在上面的设计模式里,我要加个待定wait状态,就直接继承action这个动作,然后客户端就直接使用wait了。直接理解成面向接口原则后扩展性就变得更棒了就完事!小结:缺点理解:缺点1.就是说我在person原创 2021-11-19 11:03:09 · 325 阅读 · 0 评论 -
JAVA设计模式大总结(十四)--- b站尚硅谷设计模式之 命令模式 图解+小项目的代码实现 整理(超详)
项目引入:命令模式:命令模式解决上述案例:代码:控制者的代码:客户端的代码:扩展性:想再增加 Receiver和command非常方便,直接像light一样去继承或者实现接口就完事了。小结:声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-19 10:34:00 · 354 阅读 · 0 评论 -
JAVA设计模式大总结(十三)--- b站尚硅谷设计模式之 模板模式(模板方法) 图解+小项目的代码实现 整理(超详)
项目引入:一.模板方法模式:模板方法解决豆浆制作:模板方法模式的钩子方法:小结:声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-19 09:56:04 · 347 阅读 · 0 评论 -
JAVA设计模式大总结(十二)--- b站尚硅谷设计模式之 代理模式(三种) 图解+小项目的代码实现 整理(超详)
引入:代理模式介绍(一)静态代理:代码:优缺点:(二)动态代理:核心代码:(三)cglib代理:(需要再看看,现在就简单了解)声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-18 16:19:14 · 325 阅读 · 0 评论 -
JAVA设计模式大总结(十一)--- b站尚硅谷设计模式之 享元模式 图解+小项目的代码实现 整理(超详)
项目引入:传统解决方案:享元模式巧用享元模式解决上述需求:代码:运行结果:享元模式在Integer中的应用:超过该范围就是得new了。在该范围中,即-128 到 127的话 获取Integer实例的速度就比new 快得多了小结:声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-18 15:53:01 · 294 阅读 · 0 评论 -
JAVA设计模式大总结(十)--- b站尚硅谷设计模式之外观模式 图解+小项目的代码实现 整理(超详)
项目引入:传统解决方案:传统方案问题:说白了就是需要客户端一个一个调用,麻烦的要命,所有要想个办法让客户端一键操作,复杂的逻辑就交给我们敲代码的因此在这需求下引出我们的–外观模式外观模式:现在利用外观模式解决上述需求:部分代码:小结:声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-18 15:22:12 · 173 阅读 · 0 评论 -
JAVA设计模式大总结(九)--- b站尚硅谷设计模式之组合模式 图解+小项目的代码实现 整理(超详)
1.项目需求引入:2.传统解决:3.传统方案存在问题:抛砖引玉==>组合模式组合模式:代码:运行结果:小结:声明:1.此文章仅为学习笔记,不做其他任何用途,侵权请联系删除。2.需要看其他设计模式则在我的设计模式专栏中查看即可...原创 2021-11-18 14:21:20 · 300 阅读 · 0 评论 -
JAVA设计模式大总结(八)--- b站尚硅谷设计模式之装饰者模式(三种) 图解+小项目的代码实现 整理(超详)
1.项目引入:2.传统解决:1.较差方案:2.稍微好点的方案二:3.抛砖引玉–装饰者模式闪亮登场装饰者模式:装饰者模式解决上述需求:代码:JDK中I/O的装饰者模式源码:声明:1.该文章仅为学习笔记不做其他任何用途,侵权请联系删除2.其他设计模式文章可在我的专栏中查看...原创 2021-11-18 12:03:27 · 300 阅读 · 0 评论 -
JAVA设计模式大总结(七)--- b站尚硅谷设计模式之桥接模式 图解+小项目的代码实现 整理(超详)
桥接模式:合理聚合,防止类爆炸一:项目需求引入传统解决:类爆炸二:桥接模式这里的主要核心思想就是把抽象层跟实现层分开,这样扩展性就增强了。个人看来还是要结合现实生活或者考虑方案,然后设计的时候抽象类或者接口优先!利用桥接者模式解决上述需求:小结:声明:1.此文章仅为学习笔记不做任何其他用途,侵权请联系删除2.更多设计模式的总结可直接在我的专栏中查看,均为详细图解,思路i清晰...原创 2021-11-18 11:43:18 · 318 阅读 · 0 评论 -
JAVA设计模式大总结(六)--- b站尚硅谷设计模式之适配器模式(三种) 图解+小项目的代码实现 整理(超详)
适配器模式:1.案例引入:2.适配器模式介绍:对客户端看不到被适配者的理解:我网线直接插到转接口就能用了,我就不管你这个转接口是怎么跟水晶口或者什么电脑网线接口打交道,我只能看到你的转接口长什么样子(一)类适配器模式:即:类适配器细节分析:增加使用成本?答:adapter里面调用了src类的方法,一旦方法复杂起来就比较麻烦(二)对象适配器:简单的说就是通过组合把适配的src对象组合到类中来,就可以调用该方法进行某些功能的适配了即:细节分析:(三)接口适配原创 2021-11-18 11:20:35 · 358 阅读 · 0 评论 -
JAVA设计模式大总结(五)--- b站尚硅谷设计模式之原型模式 图解+小项目的代码实现 整理(超详)
1.项目引入:2.传统编程:3.传统优缺点:老规矩传统结束引出主题(一)原型模式操作:(二)探讨 浅拷贝和深拷贝上面的克隆类型就是浅拷贝,即对于 引用类成员变量 克隆时没法重新开辟内存赋值,因此克隆的引用类成员变量与原型的引用类成员变量所指向的内存空间是同一片的例如:引入深拷贝:方法一:将引用对象也分别克隆方法二:通过对象序列化实现:(推荐)看完代码实现你也可以!声明:1.此文章仅为笔记不做其他任何用途,侵权请联系删除2.其他设计模式图解总结在我的设原创 2021-11-18 10:52:02 · 182 阅读 · 0 评论 -
JAVA设计模式大总结(三)--- b站尚硅谷设计模式之 工厂模式(三种) 图解+小项目的代码实现 整理(超详)
1.项目引入:2.传统做法:3.代码实现(部分)4.传统做法优缺点:例如:前面的Orderpizz代码都是if跟else语句,那要是有很多的orderpizz那要改到吐,所以考虑再做一层类(我的理解是缓冲),然后Orderpizz类去实现或者继承,之后改代码只需要改一个类就行了5.改进思路:下面重头戏三连来了!!!!(一)简单工厂模式:(也叫静态工厂模式)1.2.改进完代码:(二)工厂方法模式:1.项目需求引入类图:OK上面的扩展性又得到了增加,基于原创 2021-11-18 10:14:12 · 279 阅读 · 0 评论 -
JAVA设计模式大总结(四)--- b站尚硅谷设计模式之 建造者模式 图解+小项目的代码实现 整理(超详)
(一)建造者模式:1.项目需求引入:2.传统实现:3.传统实现优缺性分析:4.建造者模式原理:为提高项目的扩展性,builder与其方法及产品巧用接口或者抽象类5.建造者模式解决上述项目需求:6.建造者模式的注意事项以及细节:声明:此文章仅为自己日后方便回顾而做的学习笔记,侵权请联系删除。...原创 2021-11-18 09:33:11 · 169 阅读 · 0 评论 -
JAVA设计模式大总结(二)-- 单例模式(八种玩法 代码实现+详解)
主题:最常见的设计模式之一:单例模式简单say一下概念:声明一点:为了节约时间,做到简洁干练,本文章参考了b站的尚硅谷所分享的教学资源废话不多说直接撸码开干:(一)饿汉模式:静态常量/* 饿汉式(静态常量) */public class SingleOne { private final static SingleOne instance = new SingleOne(); private SingleOne(){} public static SingleO原创 2021-11-09 10:13:44 · 206 阅读 · 0 评论 -
JAVA设计模式大总结(一)JAVA设计模式的六大原则 以及类之间的六大关系
二.类之间的六大关系1.依赖–只要类中用到了对方,如方法间,变量间,返回值等,就说是依赖关系2.泛化–继承关系就是泛化关系,泛化关系是依赖的特例,至于为什么你自己想想就知道了3.实现–实现接口,也是依赖关系的一种4.关联:即类与类间的关系,有单向一对一和双向一对一例如:人有手机卡,手机卡有人(使用者),所以类中可以互相包含–双向一对一5.聚合–整体跟部分可以分开,关联关系的特例例:手机卡跟人,手机卡可丢,人还能存在;但是当人没了,那手机卡就不能有了的时候就是组合关系6.组合–整体与部分缺一不原创 2021-11-05 11:32:24 · 1525 阅读 · 0 评论