![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
anbreakdy
这个作者很懒,什么都没留下…
展开
-
《大话设计模式》--- 第23个:命令模式
今天写一下《大话设计模式》第23个设计模式 - - 命令模式,先贴下代码: 头文件: 1 #ifndef _COMMAND_PATTERN_ 2 #define _COMMAND_PATTERN_ 3 4 class Barbecuer 5 { 6 public: 7 void BakeChickenWing() { std::cout << "BakeChic原创 2016-10-16 13:58:04 · 438 阅读 · 0 评论 -
设计模式学习顺序
准备今后一段时间安排学习一下设计模式,其实大家都说学习编程要多写程序,可是自己的想法是想要从学习设计模式的方面提高自己的代码设计水平,因为现在自己只能在懂得了C++的基本的语法上,做一些垒代码的工作,感觉没啥设计可言。打算是没周学习一个设计模式,不求快,只求坚持,这样的话六个月时间可以学完所有的设计模式了。但是自己前段时间始终从《大话设计模式》这本书的前面往后看,感觉很枯燥,所以写下下面这个代码生原创 2016-10-01 11:34:12 · 1019 阅读 · 1 评论 -
《大话设计模式》-- 第26个 享元模式
享元模式目的是为了减少对象实例化的个数,已达到减少对象占用内存的目的。他创建对象是通过工厂创建的,在工厂类中创建对象时,会先判断此对象是否已经存在,如果不存在则创建对象,如果存在则返回已经存在的对象,这是享元模式的核心部分。对于对象间的不同部分,则采用参数传递的方式将不同部分传进类的处理函数。 代码如下:#include <iostream>#include <string>#include原创 2016-11-07 21:50:58 · 329 阅读 · 0 评论 -
《大话设计模式》-- 第24个 职责链模式
此时学设计模式只能有个大致的了解,不能理解其到底要用在何处,但是先大概根据书中描述留个简单的印象,以后在设计代码时可以有点印象,遇到具体的问题可以类比实践下。 今天学习一下《大话设计模式》中的第24个设计模式,职责链模式,这种模式用在来了一个请求时,从已有的处理类中找到一个合适的类来处理这个请求。(现在肤浅的理解其实就是处理一个具体的对象,需要根据根据此对象不同的属性来确定到底要用哪个类来处理此对原创 2016-10-28 00:02:25 · 297 阅读 · 0 评论 -
《大话设计模式》-- 第25个 中介者模式
中介者模式看了许久,不能理解其中的奥妙所在。但是不打算在这个模式上再多花时间,先在此记录下,日后代码熟练后在回过头来回顾一下。模式目标: 中介者模式的目标是为了减少多个对象之间的交互,将一种网状的交互状态简化为星状的交互状态,这样就各个对象就需要通过一个中介来传送信息。看了Gamma的设计模式一书中举的例子,此模式用在设计一个界面,界面上有按钮,下拉列表,输入框,这几种界面上的对象,如果有一种发生原创 2016-11-20 08:38:56 · 319 阅读 · 0 评论 -
《大话设计模式》-- 第22个 桥接模式
今天学习了桥接模式:此模式可以解决因为设计不当的继承而导致的类爆炸问题,如下类图所示: 此类图的设计目的是为了给不同手机品牌各自设计不同的通讯录和游戏功能。但是可以看到,这样设计出来的代码可扩展性比较差,1)如果要再加另外一种手机品牌,那么就必须添加一个手机品牌类,在添加相应的游戏和通讯录类。 2)如果对每款手机都增加了一个新的功能如拍照,那么就得给每种手机品牌下增加一个新的拍照功能。 这两原创 2016-11-26 16:02:46 · 370 阅读 · 0 评论 -
《大话设计模式》-- 第21个 单例模式
单例模式是设计模式中较为简单明了的一种模式,目的是一个类只能有一个实例产生。 如果不考虑线程安全的话,一个简单的单例模式实现代码如下:#include <iostream>using namespace std;class Singleton{public: static Singleton* GetInstance (); // 获取实例的接口 void DoSth () {原创 2016-12-03 14:03:09 · 199 阅读 · 0 评论