随笔 - 68  文章 - 0 评论 - 41 阅读 - 56万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

07 2013 档案
享元模式及C++实现
摘要:享元模式(flyweight)flyweight是轻量级的意思,中文这边翻译成享元,更容易让人理解一些。享元模式是为了应对大量细粒度对象重复的问题。程序中存在大量细粒度的对象,每次要使用时都必须创建一个新的对象,既影响了运行效率又增加了内存消耗。于是有了享元模式,享元模式提取出这些细粒度对象中间公共的状态(属性,我的理解),只生成一个实例对象,所有用到这些公共属性对象的地方,都指向这一个实例。根据我的理解,很多类有一部分的属性是可以共享的,而不可共享的部分需要提取出来,通过参数传递来使用。典型的享元模式的例子为文书处理器中以图形结构来表示字符。一个做法是,每个字形有其字型外观,字模metric 阅读全文
posted @ 2013-07-16 21:02 曾经的你| 阅读(4377) 评论(0) 推荐(1) 编辑
组合模式及C++实现
摘要:组合模式组合模式,是为了解决整体和部分的一致对待的问题而产生的,要求这个整体与部分有一致的操作或行为。部分和整体都继承与一个公共的抽象类,这样,外部使用它们时是一致的,不用管是整体还是部分,使用一个方法即可遍历整体中的所有的部分。就像一个树形结构一样。如下面的类图,client的只需要使用Component即可,无须关心到底是Leaf还是Composite。这里有两种情况,add函数对于Leaf来说是没有必要的,所以一种办法就是在Leaf的add实现中什么都不写。还一种办法就是将add方法挪到Composite中,让外部使用Composite和Component。但这样的缺点就是暴露了Comp 阅读全文
posted @ 2013-07-15 17:08 曾经的你| 阅读(3567) 评论(0) 推荐(0) 编辑
QCopChannel的用法
摘要:QT提供了很多的进程间通讯的方法,例如共享内存,QProcess等等。但有一种方法是嵌入式端所独有的,那就是Qt Communications Protocol(QCOP)QT通讯协议,这种方法只能用于QT Embeded。网上关于这种用法的资料比较少,研究了半天才搞明白是怎么回事。QCOP将进程间的通讯简化,使之就像使用QT中的信号与槽一样方便。用法:1.首先是编写接收消息的程序 channel = new QCopChannel(QString("/System/recevie"),this); connect(channel, SIGNAL(received(cons 阅读全文
posted @ 2013-07-11 15:38 曾经的你| 阅读(1952) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示