随笔分类 -  设计模式

深入理解QT模型/视图编程(一)
摘要:关于MVC模式 说到这个,还是离不开MVC模式,model是数据的抽象,view是视图的抽象,controller是交互的抽象;之前有一篇文章简单介绍过一个MVC的例子;其中的关系大致可以用下面这段伪代码来了解: model.setDataSource(xxx); //从xxx处拿到数据 view1 阅读全文

posted @ 2023-07-30 16:31 疾速瓜牛 阅读(298) 评论(0) 推荐(0)

如何理解面向接口编程与面向实现编程
摘要:以Head First中的一张图为例,说明这个问题: 假设我们有一个应用程序加simuduck, 用户可以执行simuduck -p xxx, 其中xxx是鸭子的类型,然后程序会根据用户的输入生成不同的鸭子并显示出来; 那么程序在设计时,我们分两部分,一部分是专门写了一个鸭子类库,提供一个头文件,里 阅读全文

posted @ 2023-02-25 11:49 疾速瓜牛 阅读(65) 评论(0) 推荐(0)

一张图看懂继承,组合,实现
摘要: 阅读全文

posted @ 2023-02-25 10:29 疾速瓜牛 阅读(24) 评论(0) 推荐(0)

如何理解 少用继承,多用组合
摘要:HeadFirst 设计模式一书中,开篇就提到了这个有趣的点: 当我们想让鸭子能飞的时候,首先跳出来的想法是给鸭子类增加一个fly()方法,然后所有的子类直接继承完事; 结果,有一个橡皮鸭类也继承了,导致了我们不想看见橡皮鸭满天飞的后果;这里显然是有问题的,然后我们在想,橡皮鸭类中直接overrid 阅读全文

posted @ 2023-02-19 21:16 疾速瓜牛 阅读(64) 评论(0) 推荐(0)

对mvc模式的理解
摘要:Model-View-Controller MVC模式是个威力强大的复合模式,是由数个设计模式结合起来的模式; 我们先看一下一个mp3播放器的设计,来由浅至深地了解这个设计模式的精髓所在: 从最直观的地方入手,我们不要先入为主的去使用mvc这个模式,而是尝试用自己最为直观的方式去设计这个应用,那么事 阅读全文

posted @ 2023-02-19 17:15 疾速瓜牛 阅读(45) 评论(0) 推荐(0)

引用计数与强弱指针
摘要:引用计数是一种很实用的设计,我们可以在很多地方看到它的使用: 比如GUI中的自动垃圾回收机制,就是这么搞的,比如我们在一个按键的回调中需要创建一个view并显示,那么我们会new一个pageiew的对象,比如var view_instance = new xx::view ,然后present这个v 阅读全文

posted @ 2022-02-02 15:39 疾速瓜牛 阅读(225) 评论(0) 推荐(0)

状态机与状态模式
摘要:最近在学习GUI框架,发现GUI本质上就是一个大状态机。以EW为例,在每次loop的update之前,都会判断这次是否有input/signal/device/timer这四类会改变系统状态的外部变量(这些就是各种各样的condition)。如果有,再去执行对应的slot(也就是action),执行 阅读全文

posted @ 2021-11-21 11:40 疾速瓜牛 阅读(424) 评论(0) 推荐(0)

导航