- 博客(6)
- 资源 (4)
- 问答 (2)
- 收藏
- 关注
原创 我所理解的设计模式(C++实现)——外观模式(Facade Pattern)
概述想想我们小时候玩的四驱车,里面的构造很复杂,马达,舵机,电池组等等,而我们控制它却非常简单,只要打开电池开关,他就可以跑。我们其实不用知道它里面是如何工作,只要知道拨动开关它就可以工作就行了,这个开关其实就四驱车给我们的一个友好的组件,使得我们可以很方便的控制它。外观模式其实定义了一个高层接口,该接口为子系统中的一组接口提供一个一致的界面,使得这一子系统更加容易使用。类图和样例
2013-04-23 21:10:57 7846 3
原创 我所理解的设计模式(C++实现)——装饰者模式(Decorator Pattern)
解决的问题:我们在装饰新家的时候买了几幅抽象画,买回来之后发现有些加上色彩艳丽的边框更适合我们,而有的加上玻璃罩之后更能符合我们的使用。那我们来怎么解决这个问题呢?他需要动态的给别的对象增加额外的职责,这就是装饰者模式的目的。我们可以通过继承的方式来给原对象增加新功能,但是装饰者模式采用组合的方式比生成子类更加灵活。类图及样例实现:在装饰模式中的各个角色有:抽象
2013-04-21 11:14:12 10823 3
原创 我所理解的设计模式(C++实现)——组合模式(Composite Pattern)
解决的问题:我们PC用到的文件系统,其实就是我们数据结构里的树形结构,我们处理树中的每个节点时,其实不用考虑他是叶子节点还是根节点,因为他们的成员函数都是一样的,这个就是组合模式的精髓。他模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合
2013-04-16 21:14:04 17682 6
原创 我所理解的设计模式(C++实现)——适配器模式(Adapter Pattern)
解决的问题:适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。比如说我的hp笔记本,美国产品,人家美国的电压是110V的,而我们中国的电压是220V,要在中国能使用,必须找个变压器转一下电压才可以。这个变压器就是个适配器。适配器模式有类适配器和对象适配器两种模式,我们将分别讨论。类适配器:由图中可以看
2013-04-09 21:53:35 18995 7
原创 我所理解的设计模式(C++实现)——原型模式(Prototype Pattern)
解决的问题:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这个其实和C++的拷贝构造函数的作用是一致的,实际上就是动态抽取当前对象运行时的状态。类图结构: 客户(Client)角色:客户类提出创建对象的请求。抽象原型(Prototype)角色:这是一个抽象角色,通常由一个C#接口或抽象类实现。此角色给出所有的具体原型类所需的接口。在C#中,抽象
2013-04-06 16:01:44 11047
原创 我所理解的设计模式(C++实现)——建造者模式(Builder Pattern)
解决的问题:我创建的这个对象比较复杂,且该对象里面的成员函数用不同的实现来表示不同的实例,换句话说就是同样的对象构建过程可以有不同的表示。比如我那天去吃过桥米线,他们有不同的套餐,套餐里包含的种类是一样的,都有一碗米线,一份凉菜,一杯饮料。但是不同的套餐里这3样又都不是全部一样的。此时我们就可以用建造者模式。类图结构:1.建造者(Builder)角色:给出一个抽象接
2013-04-04 10:58:52 6238 1
主要讲述以http://blog.csdn.net/LCL_data/archive/2009/12/09/4974499.aspx中的链表逆序为模板来讲述指针的使用
2010-01-16
如何将实时的PS流通过RTMP协议发送至流媒体服务器?
2023-10-19
用python来实现:根据实际查询结果补充完整数据
2021-10-28
有个pb文件做好的模型,对此模型的操作想用python封装成api,怎么做?
2021-10-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人