设计模式
LonelyGambler
未长成的程序员
展开
-
C++实现设计模式——工厂模式
这几天逛菜鸟教程发现了设计模式的内容,点进去一看全是Java书写的。对于一个C/C++的菜鸟来说,决定用C++将其重写一遍增强学习效果。 别的不说了,回到正题来吧。工厂模式是常见的设计模式之一,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 对于工厂模式的介绍我就照搬一下菜鸟教程吧,我自己的理解就是你只需要把产品信息告诉工厂,然后工厂会根据你给出的产品信息生成不一样的具体对...原创 2018-06-05 17:18:23 · 389 阅读 · 0 评论 -
C++实现设计模式——抽象工厂模式
感觉抽象工厂模式有点像你去买电脑的时候,先告诉卖电脑的你要买联想的,然后再告诉卖电脑的你要个鼠标,最后你喜提联想的鼠标回家了。 这里也感谢菜鸟教程,提供免费的学习资料。 优点:当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。 缺点:产品族扩展非常困难,要增加一个系列的某一产品,既要在抽象的 Creator 里加代码,又要在具体的里面加代码。 使用场...原创 2018-06-29 23:07:56 · 389 阅读 · 0 评论 -
关于单例模式的细节学习——C++实现版
单例模式可以说是最普为人知的一种设计模式了吧,但单例模式的细节又有多少人想清了呢?那就先提几个问吧单例模式的对象该如何释放?何时释放?如何优雅的释放? 单例模式有哪几种实现方式? 如果你瞬间就一大段代码涌出脑海,我建议你别看这篇博文了,省得浪费你时间。 那下面就开始说正事吧UML图饿汉式时间换取空间的实现方式,打死我也不创建对象。这种模式只有在第一个对象实例化的时候才...原创 2018-07-29 17:30:42 · 289 阅读 · 0 评论 -
C++实现设计模式——观察者模式
关于观察者模式,对它的认知依旧是起源于菜鸟教程的设计模式篇章,里面解释的很到位。 这里简单介绍一句,当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。详细介绍戳该链接——菜鸟教程~观察者模式本文分享一个老师布置作业的例子感觉这个例子完美诠释了观察者模式,学生作为观察者,观察者模...原创 2018-07-22 22:34:59 · 258 阅读 · 0 评论 -
关于建造者模式(C++实现)——怎么做一个全家桶
关于建造者模式,专业的术语介绍可以直接戳到菜鸟教程去学习——菜鸟教程~建造者模式谈谈个人体会建造者模式简直就是为全家桶系列而生的,它使用一个个简单的对象进而构成复杂的对象,就像肯德基使用简单的薯条、鸡腿、鸡翅、可乐等单一的食物推出了全家桶套餐。后序又将各种单一的产品进行组合他,不断推出全新的套餐,拉动消费。 屁话不多说了,下面介绍下我学习建造者模式后,用C++描述的一个简单demo。...原创 2018-09-02 15:25:09 · 760 阅读 · 0 评论 -
戏说原型模式(C++实现)之如何快速创建一个“对象”
介绍一下原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。还要再具体的就去菜鸟教程看吧——原型模式|菜鸟教程 这里说说我自己的感悟,当一个类有很多属性的时候,你又不太熟悉其属性,这个时候创建一个对象还要填充属性值就有点麻烦了。 那怎么办呢?直接克隆一个现成的吧,我才不管它有哪些属性,既然它...原创 2018-09-09 16:58:37 · 313 阅读 · 0 评论 -
适配器模式(C++实现)之戏说手机数据线
适配器模式(adapter_pattern)好久没更新设计模式的博客了,懒得去死呀-_-想看适配器模式的详细介绍还是推荐菜鸟教程呀——菜鸟教程|适配器模式我这里只谈谈自己的学习体会,一开始感觉适配器模式和工厂模式有点像。工厂模式对外暴露出一个工厂类,你想要什么只要告诉这个工厂类就可以了,它会给你安排一个你想要的对象;有点像的是适配器模式对外也暴露一个适配器类,你想要干什么告诉适配器类就可以了...原创 2018-10-07 23:55:27 · 372 阅读 · 0 评论 -
桥接模式(C++实现)——我们来一起画个有颜色的图
桥接模式(bridge pattern)感觉桥接模式是一种挺灵活的设计模式吧,它可以很好的把各个类串在一起。比如说你走进了一家4S店,准备去买辆跑车。跑车的颜色可以是一个类,跑车的形状可以是一个类,跑车的品牌也是一个类。你告诉店家你想要一辆流线型的黑色兰博基尼,店家就会按照你的需求带你去看车了,你作为客户是看不到流线型的黑色兰博基尼的实现过程,而店家就是你的那个桥,对外直接暴露接口。另外如果你...原创 2018-10-14 16:25:01 · 774 阅读 · 0 评论 -
过滤器模式(C++实现)之帮你选个男朋友
过滤器模式(Filter Pattern)过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。这种这么官方的介绍当然是我从菜鸟教程复制过来的——过滤器模式|菜鸟教程那就再谈一谈我自己的见解吧...原创 2018-12-15 15:50:15 · 1207 阅读 · 1 评论