设计模式
文章平均质量分 74
四维大脑
这个作者很懒,什么都没留下…
展开
-
设计模式之命令模式
在软件开发系统中,“方法的请求者”与“方法的实现者”之间经常存在紧密的耦合关系,这不利于软件功能的扩展与维护。例如,想对方法进行“撤销、重做、记录”等处理都很不方便,因此“如何将方法的请求者与实现者解耦?”变得很重要,命令模式就能很好地解决这个问题。原创 2022-04-28 09:59:53 · 124 阅读 · 0 评论 -
设计模式之解释器模式
一种行为型设计模式。定义了一个解释器,来解释给定语言和文法的句子。其实质是把语言中的每个符号定义成一个(对象)类,从而把每个程序转换成一个具体的对象树。原创 2022-04-27 11:09:46 · 257 阅读 · 0 评论 -
设计模式之迭代器模式
在现实生活以及程序设计中,经常要访问一个聚合对象中的各个元素,如“数据结构”中的链表遍历,通常的做法是将链表的创建和遍历都放在同一个类中,但这种方式不利于程序的扩展,如果要更换遍历方法就必须修改程序源代码,这违背了 “开闭原则”。原创 2022-04-26 11:16:50 · 65 阅读 · 0 评论 -
设计模式之中介者模式
在现实生活中,常常会出现好多对象之间存在复杂的交互关系,这种交互关系常常是“网状结构”,它要求每个对象都必须知道它需要交互的对象。例如,每个人必须记住他(她)所有朋友的电话;而且,朋友中如果有人的电话修改了,他(她)必须让其他所有的朋友一起修改,这叫作“牵一发而动全身”,非常复杂。原创 2022-04-25 10:54:51 · 140 阅读 · 0 评论 -
设计模式之备忘录模式
在我们平时玩游戏,下棋的时候都有一个存档的功能。我们可以利用存档,恢复到之前的某个状态。备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。原创 2022-04-24 11:48:05 · 145 阅读 · 0 评论 -
设计模式之观察者模式
多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。原创 2022-04-21 11:14:42 · 235 阅读 · 0 评论 -
设计模式之状态模式
一个人有开心、有难过等等多种状态,当开心的时候就想吃东西,当难过的时候就想哭。我们可以把人的状态抽象出来,不同状态对应不同实现,来对一个人的状态进行改变。原创 2022-04-17 19:06:56 · 94 阅读 · 0 评论 -
设计模式之责任链模式
在日常生活中,一个事情多个对象处理是很常见的。比如说请假流程,可以请假的有部门负责人、副总经理、总经理等,但是每个领导能批准的天数也不同。如果员工需要请假要找不同的领导,那么对于员工来说无疑是增加了难度。但是如果层层递交,那么将会省事很多。原创 2022-04-11 21:01:09 · 88 阅读 · 0 评论 -
设计模式之策略模式
策略这个词应该怎么理解,打个比方说,我们出门的时候会选择不同的出行方式,比如骑自行车、坐公交、坐火车、坐飞机、坐火箭等等,这些出行方式,每一种都是一个策略。转载 2022-04-07 20:47:52 · 68 阅读 · 0 评论 -
设计模式之模版模式
模版模式是比较容易理解的设计模式之一,其实就是做一个模版,然后具体每个人在根据模版进行编写。日常生活中,英语考试,作文有各种各样的模版,我们照搬模版,填充内容就可以了。考试的时候,每个人试卷都一样,但是答题不一样。原创 2022-03-28 21:35:54 · 57 阅读 · 0 评论 -
设计模式之访问者模式
把被操作的对象作为元素,可变可拓展的操作作为访问者。可以说访问者中有很多操作,然后访问者访问元素,对该元素进行操作,不同的访问者有不同的操作。原创 2022-03-28 20:59:55 · 325 阅读 · 0 评论 -
设计模式之享元模式
享元模式:就是共享技术,对于系统中存在大量相同的对象,把他们抽取成一个对象放在缓存中进行使用,这样可以大大节省系统资源。原创 2022-03-24 13:55:41 · 585 阅读 · 0 评论 -
设计模式之外观模式
外观模式:结构型模式之一,提供了一个统一的接口,用来访问子系统中的一群接口。外观模式定义了一个高层接口,让子系统更容易使用。说白了就是你去商场买一杯奶茶,这个奶茶其实有很多种类,每一个种类的原材料和做法都不一样,但是奶茶店不会给你展示原材料和做法给你看,会直接给你一个菜单让你选,而这个菜单就是外观类。你只需要选奶茶就行了,不用去关心内部怎么实现。原创 2022-03-23 13:24:41 · 533 阅读 · 0 评论 -
设计模式之装饰器模式
装饰器模式:在不改变原文件以及使用继承的情况下,对一个类动态的增加功能。实际上就是创建一个装饰对象,把真实的对象放入装饰对象中,然后进行扩展。原创 2022-03-21 18:22:05 · 450 阅读 · 0 评论 -
设计模式之组合模式
组合模式:其实组合模式就是一个“部分-整体”的层次结构,并且每个节点提供的功能都差不多,这样可以使使用者在使用的时候具有一致性。这里有三种角色: 根节点(红色)、树枝节点(橙色)、叶子结点(绿色)江苏公司总部包含人事部和财务部,下属两个分部也包含人事部和财务部。这时候就可以使用组合模式。...原创 2022-03-15 22:45:38 · 296 阅读 · 0 评论 -
设计模式之桥接模式(未使用桥接模式、使用桥接模式、源码体现)
桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。这句话现在看还是很抽象,我们先看一个例子。我们有两种咖啡、拿铁和美式。对于咖啡,我们提供两种可添加的选项,分别是加奶和加糖。这样我们就有了四种选项,拿铁加奶、拿铁加糖、美式加奶、美式加糖假如说我们不用设计模式会怎么样呢未使用设计模式/** * 咖啡接口:可以加奶加糖 */public interface Coffee { void add();}public class MCof原创 2022-03-03 21:01:37 · 141 阅读 · 0 评论 -
设计模式之适配器模式(类适配器、对象适配器、源码体现)
类适配器对象适配器SpringMVC中源码的体现原创 2022-03-02 15:21:14 · 315 阅读 · 1 评论 -
设计模式之代理模式(jdk和cglib、手撕源码、自创动态代理)
代理模式顾名思义就是进行代理,简单来说就是经纪人,他直接与你沟通,并帮助做更多的事情,本篇将带你对代理模式一探究竟,手撕源码。在程序中,代理模式那可谓是非常重要,像Spring的aop就是动态代理,而且很多框架中都是用到了代理模式。代理模式在我们不改变原有代码的基础上对某一个方法进行增强,这种增强可以是提前编写好的代码,也可以是自动编写的代码。这就分为静态代理和动态代理。原创 2022-02-24 23:16:47 · 180 阅读 · 0 评论 -
设计模式之建造者模式
设计模式之建造者模式原创 2022-02-20 23:04:19 · 107 阅读 · 0 评论 -
设计模式之原型模式(Cloneable接口、浅拷贝、深拷贝)
原型模式是23种设计模式之一,很多类的拷贝都使用到了此模式。例如Spring框架中bean的作用域prototype模式。意义:当我们想要去复制一个对象的时候,使用原型模式,就可以无需知道该对象的内部细,快速高效的去拷贝出一个对象。类型:创建型模式原创 2022-02-16 21:53:48 · 494 阅读 · 0 评论 -
设计模式之单例模式(创建、单例破坏、防止破坏)
单例模式是23种设计模式之一,也是学习设计模式遇到的第一个设计模式。意义:在实际开发中,会有很多通用类,比如获取数据源的类,假如在使用这些类的时候,每用一次就创建一个新的实例,这样就会创建很多实例,实际上这些实例做的作用都是一样的。要想避免这种无用的创建实例,这里就需要用到单例模式。类型:创建型模式实现方式:1.构造器私有化 2.在类内部创建好一个实例 3.提供一个方法来获取实例使用方式:获取该类的实例时,使用提供的方法来获取接下来从三个方面来介绍单例模式单例模式创建1.饿汉式含义:饿汉式就原创 2022-02-10 15:15:23 · 503 阅读 · 0 评论 -
设计模式之工厂模式(简单工厂、工厂方法、抽象工厂)
工厂模式详解(简单工厂、工厂方法、抽象工厂)原创 2022-02-14 14:36:35 · 470 阅读 · 0 评论