![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
设计模式
燕麦咿咿咿呀
这个作者很懒,什么都没留下…
展开
-
设计模式之桥梁模式
1、简介 桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。 1.1、抽象化 :存在于多个实体中的共同的概念性联系,就是抽象化。作为一个过程,抽象化就是忽略一些信息,从而把不同的实体当做同样的实体对待。 1.2、实现化:抽象化给出的具体实现,就是实现化。 ...转载 2020-01-09 10:04:30 · 111 阅读 · 0 评论 -
设计模式之享元模式
原创 2020-01-08 09:42:18 · 80 阅读 · 0 评论 -
设计模式UML解析图
原创 2020-01-06 09:23:43 · 108 阅读 · 0 评论 -
设计模式之状态模式
本文参考:https://www.cnblogs.com/java-my-life/archive/2012/06/08/2538146.htmlhttps://blog.csdn.net/liaodehong/article/details/52079502一、模式简介允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类,(State Pattern)是设计模式...原创 2020-01-03 17:36:48 · 125 阅读 · 0 评论 -
设计模式之访问者模式
访问者模式介绍最复杂的设计模式,并且使用频率不高,《设计模式》的作者评价为:大多情况下,你不需要使用访问者模式,但是一旦需要使用它时,那就真的需要使用了。访问者模式是一种将数据操作和数据结构分离的设计模式。(觉得太抽象,可以看下面的例子)。访问者模式的使用场景对象结构比较稳定,但经常需要在此对象结构上定义新的操作。 需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要...转载 2020-01-02 17:54:32 · 78 阅读 · 0 评论 -
设计模式之备忘录模式
版权声明:本文为CSDN博主「小旋锋」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/wwwdc1012/article/details/83353580本文的主要内容:介绍备忘录模式 示例 备忘录模式总结备忘录模式备忘录模式经常可以遇到,譬如下面这些场景:浏览器回退:浏览器一般有浏...转载 2020-01-02 09:55:04 · 80 阅读 · 0 评论 -
设计模式之门面模式
本文参考:https://www.cnblogs.com/zhenyulu/articles/55992.htmlhttps://www.jianshu.com/p/02ca61090d14一、概述 提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使用子系统更容易使用。本质:就是化零为整;引入一个中介类,把各个分散的功能组合成...原创 2019-12-31 18:00:38 · 137 阅读 · 0 评论 -
设计模式之观察者模式
一、概述 观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。观察者模式有时成为发布/订阅模式,就是让多个对象在一个对象的状态改变时被通知到。二、解决问题 当一个系统有多个类协同工作,如果在一个类中需要知道另外一个类的实现细节才能让系统运转,就会导致系统耦合过紧,以后相互依赖的类改变了或者新增了依赖的类,很多类需要同时更改。为...原创 2019-12-31 09:17:30 · 103 阅读 · 0 评论 -
设计模式之组合模式
一、概述 允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及组合对象。二、解决问题 组合模式解决这样的问题,当我们的要处理的对象可以生成一颗树形结构,而我们要对树上的节点和叶子进行操作时,它能够提供一致的方式,而不用考虑它是节点还是叶子。三、结构类图四、应用实例以学校做例子,把学校作为根节点,学院做普通节点,专业就是...转载 2019-12-30 09:35:40 · 72 阅读 · 0 评论 -
设计模式之适配器模式
本文参考:https://blog.csdn.net/wwwdc1012/article/details/82780560https://www.cnblogs.com/jenkinschan/p/5746005.html一、概述 适配器模式将一个类的接口,转换为客户期望的另一个接口。适配器让原本不兼容的类可以合作无间二、解决问题 从模式的定义中,我们看到适配器模式就是...原创 2019-12-26 17:52:57 · 260 阅读 · 1 评论 -
设计模式之策略模式
本文参考:https://www.cnblogs.com/jenkinschan/p/5645300.htmlhttps://www.cnblogs.com/fengyumeng/p/10842631.html一、策略模式定义我们知道一件事可能会有很多种方式来实现它,但是其中总有一种最高效的方式,在软件开发的世界里面同样如此,我们也有很多中方法来实现一个功能,但是我们需要一种简单、...原创 2019-12-25 18:05:02 · 101 阅读 · 0 评论 -
设计模式之装饰模式
本文参考:https://www.cnblogs.com/jenkinschan/p/5683099.html一、概述装饰器模式动态地将责任附加到对象上。想要扩展功能,装饰者提供了有别于继承的另一种选择。简单描述就是包装对象,让对象提供新的行为。二、解决问题 当一个类想要获得一个行为,我们会想到面向对象四大特性之一的继承,继承能够让子类从父类中获得行为,实现很好的代码复用。但这种...原创 2019-12-24 14:46:13 · 105 阅读 · 0 评论 -
设计模式之责任链模式
本文参考:https://www.cnblogs.com/aeolian/p/8888958.htmlhttps://www.cnblogs.com/fengyumeng/p/10839570.html定义责任链模式(Chain of Responsibility Pattern)是一种常见的行为模式。责任链模式英文原话是:Avoid coupling the sender o...原创 2019-12-23 17:53:35 · 96 阅读 · 0 评论 -
设计模式之命令模式
一、概念命令模式将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。二、解决问题 假设我们买了一套智能家电,有照明灯、风扇、冰箱、洗衣机,我们只要在手机上安装app就可以控制对这些家电工作。那么问题来了,这些智能家电来自不同的厂家,我们是不是要对每个厂家的家电都安装一个app呢?毫无疑问,我们肯定不想安装那么多的app,我们希望只要...转载 2019-12-21 18:00:18 · 113 阅读 · 0 评论 -
设计模式之中介者模式
原文链接:https://blog.csdn.net/itachi85/article/details/60466829简单的介绍:中介者模式又叫做调停者模式,名字跟出国留学中介和房产中介是类似的。拿房产中介来说,现在房子买家和房子卖家非常多,如果任由房子买家和房子卖家自由交易,则会导致不同的买家和卖家之间有很多交互,一个买家会和多个卖家进行交涉,同样的一个卖家也会和多个买家进行交涉。如果...转载 2019-12-20 18:06:23 · 137 阅读 · 0 评论 -
设计模式之原型模式
本文参考:https://www.cnblogs.com/fengyumeng/p/10646487.html这个博主写的例子也太有意思了,还被博主种草了一本书《码农翻身》,就是以讲故事的形式来讲知识点,很有意思^_^https://www.cnblogs.com/jenkinschan/p/6399489.html一、什么是原型模式?原型模式(Prototype),用原型实例...原创 2019-12-19 17:10:59 · 140 阅读 · 0 评论 -
设计模式之代理模式
本文参考:https://blog.csdn.net/jason0539/article/details/22974405https://www.cnblogs.com/pony1223/p/5588964.htmlhttps://www.cnblogs.com/jenkinschan/p/6291328.html一、概述 代理模式为另一个对象提供一个替身或占位符以控制对这个...原创 2019-12-18 18:00:15 · 154 阅读 · 0 评论 -
设计模式之建造者模式
本文参考:https://www.jianshu.com/p/b19eb442f14fhttps://www.cnblogs.com/jenkinschan/p/6426694.html一、什么是建造者模式?建造者模式可以用造房子来举个例子,不管是别墅,还是平房或者是高楼大厦,都少不了设计整体结构、清理地基、浇筑地梁、砌筑房子基本结构等步骤。建造者模式的定义:将一个复杂对象的构...原创 2019-12-17 17:56:47 · 126 阅读 · 0 评论 -
设计模式之模板方法模式
原文地址:https://www.cnblogs.com/jenkinschan/p/5768760.html,大佬写的实例特别容易理解!一、什么是模板方法模式?模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。二、结构类图 模板方法模式(TemplateMethod),定义一个操作中的算...转载 2019-12-16 17:57:52 · 76 阅读 · 0 评论 -
设计模式之工厂模式
工厂方法模式一种创建对象的模式,它被广泛应用在jdk中以及Spring和Struts框架中; 工厂方法模式基于"输入",应用在超类和多个子类之间的情况,这种模式将创建对象的责任转移到工厂类; 首先让我们学习一下如何在Java中应用工厂方法模式并且学习到工厂方法的优点,另外工厂方法模式也广泛应用在jdk中; 超类可以是接口、抽象类、父类,本例中将通过重写 toString() 方法来解释工厂方...原创 2019-12-14 20:12:20 · 93 阅读 · 0 评论 -
设计模式之单例模式
本文参考C语言中国网的设计模式:http://c.biancheng.net/view/1338.html菜鸟教程:https://www.runoob.com/design-pattern/singleton-pattern.html#%232单例模式的定义与特点单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。在有些系统中,为了...原创 2019-12-13 16:58:21 · 174 阅读 · 0 评论 -
设计模式之模式概述
本文参考(http://c.biancheng.net/view/1317.html),学习的同时做一下笔记方便以后的查看和复习。一、软件设计模式概述1、软件设计模式的产生背景“设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977 年,美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在...原创 2019-12-13 16:16:51 · 219 阅读 · 0 评论 -
设计模式六大原则(初步理解)
之前听过设计模式,却从未听说过六大原则,学习设计模式,首先要学习的就是设计原则,看大牛的博客(https://www.cnblogs.com/pony1223/p/7594803.html)记录一下。首先,六大原则有:单一职责原则 开闭原则 里氏替换原则 接口隔离原则 依赖倒置原则 迪米特原则单一职责原则打从学习java开始,就知道一句话“低耦合,高内聚”。一个类,只有一个引...原创 2019-12-12 18:03:05 · 372 阅读 · 0 评论