文档章节

board程序代码架构思路

jingshishengxu
 jingshishengxu
发布于 2011/02/11 01:36
字数 330
阅读 69
收藏 1

 

 

 

分层模型应该是一个古老又有效的代码组织结构了。但是代码在实际书写中往往分层不随如人意,一些功能到底在哪一层往往不能分明。另外各层次之间是不是不能跨越中间层,如果不能,将会导致多余的中间代码,而这个代码的目的仅仅是维持代码模块之间的层次关系。对于桌面程序,这样分层的结果就是将模块组织成了一个树形结构,而下层的树叶部分往往要需要其他树叶或者树干部分的支持,如果是MFC,方法则往往是调用全局对象从树根逐层查找,这样代码也必然是啰嗦低效的。

用消息发布订阅模型,系统维持一个消息集散中心board,其他各个模块都向这个board发送消息,并注册自己,订阅消息,这样各个模块只直接和board打交道,模块之间完全结构,传统的分层模型被以board为中心的星型模型取代。简化的程序复杂,降低模块之间的耦合,更利于阅读维护。

© 著作权归作者所有

共有 人打赏支持
jingshishengxu
粉丝 70
博文 473
码字总数 49920
作品 0
杭州
部门经理
八皇后问题(牛人非递归版)

原文链接:《八皇后问题的非递归解法》 想不服都不行,实在是太牛的代码,诡异的算法思路,出神入化的STL技巧。。。 复制代码 include include include include using namespace std; const i...

嗯哼9925
2017/12/08
0
0
u-boot-2009-11移植之stage1(支持从nand启动)

目标板:FL2440 硬件资源:64M SDRAM/256M nandflash(k9f2g08u0a)/4M nor flash(JS28F320) 开发环境:fedora 14 源码:u-boot-2009.11 交叉编译工具链:cross-3.3.2.tar.bz2 参考资料:h...

liufazhang
2011/10/24
0
1
相册管理程序--Coopermine

Coppermine Photo Gallery 是一款相册管理程序,基于PHP+MySQL架构。Coppermine能够与许多CMS系统整合,包括 e107, Invision Power Board, Joomla!, Mambo, phpBB, PostNuke, PunBB, Simple......

匿名
2009/08/19
1K
0
leetcode算法题解(Java版)-9-N皇后问题

一、贪心 题目描述 Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example, given the array[−2,1,−3,4,−1,2,1,−5,4......

kissjz
05/05
0
0
RTOS-硬件运行环境和μCOS版本说明

本系列文章中使用的软件运行环境:硬件,QEMU(STM32)仿真; 软件,μCOS-III(V3.03.01)。 运行环境说明 为良好地说明RTOS的方方面面,必须上手亲自调试代码。为了减少CPU架构和指令集方面的理...

zhanglianpin
04/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周日乱弹 —— 种族不同,禁止交往

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《苏菲小姐》- 鱼果 《苏菲小姐》- 鱼果 手机党少年们想听歌,请使劲儿戳(这里) @貓夏:下大雨 正是睡觉的好时候 临睡前...

小小编辑
今天
211
6
Python 搭建简单服务器

Python动态服务器网页(需要使用WSGI接口),基本实现步骤如下: 1.等待客户端的链接,服务器会收到一个http协议的请求数据报 2.利用正则表达式对这个请求数据报进行解析(请求方式、提取出文...

代码打碟手
今天
1
0
Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
0
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部