
设计模式
sunxiaopengsun
这个作者很懒,什么都没留下…
展开
-
设计模式 -最通俗易懂的案例
https://blog.csdn.net/weixin_39296283/category_9760393.html?spm=1001.2014.3001.5482转载 2021-10-22 13:20:02 · 96 阅读 · 0 评论 -
C++状态模式详解--设计模式
https://blog.csdn.net/fanyun_01/article/details/51791086转载 2020-04-09 11:18:35 · 171 阅读 · 0 评论 -
命令模式(Command)解析+案例实践+总结
https://blog.csdn.net/chentian114/article/details/83068503?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogComm...转载 2020-04-07 16:04:09 · 387 阅读 · 0 评论 -
23种设计模式全面解析(超级详细)
http://c.biancheng.net/design_pattern/转载 2020-04-01 21:24:58 · 307 阅读 · 0 评论 -
策略模式与工厂模式的区别
https://blog.csdn.net/qq_36946274/article/details/81774689转载 2020-02-26 20:23:46 · 151 阅读 · 0 评论 -
外观模式(C++实现)
https://blog.csdn.net/lh844386434/article/details/18045753转载 2020-02-20 12:47:36 · 167 阅读 · 0 评论 -
策略模式(C++实现)
https://blog.csdn.net/lh844386434/article/details/16825861转载 2020-02-20 12:43:05 · 170 阅读 · 0 评论 -
最常用的设计模式---代理模式(C++实现)
https://blog.csdn.net/lh844386434/article/details/18045671转载 2020-02-15 15:40:51 · 128 阅读 · 0 评论 -
建造者模式及C++实现
下面是我自己对建造者模式的理解。具体我还没在开发中应用过,这只是对于书本的理解。建造者模式建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。这是建造者模式的标准表达,不过看着让人迷惑,什么叫构建和表示的分离?一个对象使用构造函数构造之后不就固定了,只有通过它方法来改变它的属性吗?而且还要同样的构建过程搞出不同的表示,怎么可能呢?多写几个构造函数?其实多写几个构造...原创 2018-06-01 16:20:13 · 315 阅读 · 0 评论 -
最常用的设计模式---外观模式(C++实现)
外观模式:提供了一个统一的接口,用来访问子系统的一群接口。外观定义了一个高层接口,让子系统更容易使用。 目地:让接口变得简单,是为了简化子系统的接口。 外观模式也十分的简单,简而言之,就是简化你的类的接口,将一系列的复杂的过程封装到内部,对外只提供最简单的接口 结构图:应用示例: 假如你想吃一顿大餐,那么我想你要,首先去买菜,然后回到家后自己做菜,最后吃完饭以后要...转载 2018-05-21 14:33:05 · 193 阅读 · 0 评论 -
最常用的设计模式---代理模式(C++实现)
代理模式:为其他对象提供一种代理以控制对这个对象的访问。这样实现了业务和核心功能分离。UML 图:角色: Subject: 抽象角色。声明真实对象和代理对象的共同接口。 Proxy: 代理角色。代理对象与真实对象实现相同的接口,所以它能够在任何时刻都能够代理真实对象。代理角色内部包含有对真实对象的引用,所以她可以操作真实对象,同时也可以附加其他的操作,相当于对真实对象进行封...原创 2018-05-21 14:32:31 · 190 阅读 · 0 评论 -
最常用的设计模式---观察者模式(C++实现)
观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,在它的状态发生变化时,会通知所有的观察者. 说直白点,观察者模式很类似于C#中的事件,可是C++却没有事件机制,所以C++可以用观察者模式代替事件。观察者模式角色如下:抽象主题(Subject)角色:抽象主题角色提供维护一个观察者对象聚集的操作方法,对聚集的增加、删除等。具体主题(ConcreteSubject)角色:...原创 2018-05-21 14:31:51 · 219 阅读 · 0 评论 -
最常用的设计模式---装饰者模式(C++实现)
上一篇说了适配器模式,这一篇接着学习装饰者模式。 想要扩展功能,装饰者提供了有别于继承的另外一种选择。 装饰者模式主要实现的功能是动态的给某一个类添加一些额外的功能,它是一个锦上添花者。想要扩展功能,装饰者提供了有别于继承的另外一种选择。设计模式的原则是多用组合少用继承。uml 图:特点: 1. 装饰者和被装饰者拥有相同的超类型(可能是抽象类也可能是接口) 2. 可...转载 2018-05-21 14:31:05 · 226 阅读 · 0 评论 -
最常用的设计模式---适配器模式(C++实现)
适配器模式属于结构型的设计模式,它是结构型设计模式之首(用的最多的结构型设计模式)。适配器设计模式也并不复杂,适配器它是主要作用是将一个类的接口转换成客户希望的另外一个接口这样使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式有两种:1.类的适配器 2.对象适配器,对象适配器更多一些。(适配器模式和装饰模式很类似,下面一篇我们会学习装饰者模式,并分析他们之间的区别)示例:比如你在...原创 2018-05-21 14:00:37 · 204 阅读 · 1 评论 -
最常用的设计模式---模板方法模式(C++实现)
模板方法模式是设计模式行为型中最简单的一种设计模式。在实际中你甚至可能经常用到,只是你自己不知道它是一种设计模式罢了。模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。角色:抽象类(AbstractClass): 定义抽象的原语操作,具体的子类将重定义它们以实现一个算法,实现一个模板方法,定义一个算法的骨架。该...原创 2018-05-21 14:00:03 · 228 阅读 · 0 评论 -
最常用的设计模式-----策略模式(C++实现)
策略模式也是一种非常常用的设计模式,而且也不复杂。下面我们就来看看这种模式。定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。角色: 抽象策略角色(Strategy): 抽象策略类。 具体策略角色(ConcreteStrategy):封装了继续相关的算法和行为。 环境角色(Context):持有一个策略...原创 2018-05-21 13:59:34 · 330 阅读 · 0 评论 -
最常用的设计模式----工厂模式家族(简单工厂模式, 工厂方法模式, 抽象工厂模式)
工厂模式是个系列,分为简单工厂模式, 工厂方法模式, 抽象工厂模式,这三种模式也非常常用。这些模式最最经典的就例子就是设计计算器。 简单工厂模式 严格的说,简单工厂模式并不是23种常用的设计模式之一,它只算工厂模式的一个特殊实现。简单工厂模式在实际中的应用相对于其他2个工厂模式用的还是相对少得多,因为它只适应很多简单的情况,最最重要的是它违背了我们在概述中说的开放-封闭...原创 2018-05-21 13:57:30 · 247 阅读 · 0 评论 -
最常用的设计模式----单实例模式(C++ 实现)
单实例模式,本人认为最简单的设计模式之一,当然说的简单是针对一般情况,是不考虑线程安全等一系列其他问题。单实例模式也是最最最最常用的模式。我在没有学设计模式之前,都用到了这个模式,只是自己不知道罢了。它保证一个类之类实例化一次,并提供一个访问它的全局控制点。 比如你的应用程序有一个applicaiotn类,然后有一个个app 对象,显然每个应用只应该有一个这样的对象。 但是你又...转载 2018-05-21 13:56:24 · 213 阅读 · 0 评论