
设计模式
「已注销」
这个作者很懒,什么都没留下…
展开
-
底层引擎类的架构写法
做一个project,有时候要将其纵向分几层。最上一层是UI层,底层则是引擎层。对于这二者之间的关系还是很有意思的。 以前做过的一个项目:由于UI的每个widget对应一个底层引擎(一个窗口负责语音输入,一个负责手写输入;那:我们把底层语音引擎类直接初始化在语音输入的窗口类中;把底层手写引擎初始化创建在手写窗口类中)。这种架构没有严格的区分开UI与底层引擎,而是直接依据功原创 2010-05-25 16:25:00 · 2497 阅读 · 7 评论 -
PIMPL模式
<br /> 进行跨平台的移植工作,这其中有些地方是无法完全移植过来的,所以:需要我们封装一个接口类,在不同平台下让其有不同的实现。要做到这一点:有很多办法,条件编译啊之类的。但是如果有这种方法,说白了:其还是两份代码,仅仅是放到同一个文件中。参考Qt实现跨平台的办法,正好读了一片这方面的文章,发现PIMPL模式还是很适用的。<br />----------------------------------------------------------//public.hClass Priva原创 2010-10-12 11:32:00 · 4644 阅读 · 1 评论 -
事件传递 + 自绘控件
做一个网络程序,一般要分成底层引擎 和 UI这两部分。对于引擎,其需要和网络进行互动,而受到相应消息时需要通知ui进行变化。但是该如何通知呢? 有人说:函数调用。引擎调用UI的更新函数。也有人说:qt中用信号槽。 这个也可以,但是效率太低,不推荐使用。 这个时候最好是使用函数指针, 具体如下做: ①:我们在初始化时在后台开一个定时器一类的东西,让它开始运行。后台这个timer相当于一个后台事件调度器。它一到事件之后就会驱动某个事件的发生。 ②:在先创建UI原创 2010-10-29 22:18:00 · 2153 阅读 · 5 评论