文档章节

board程序代码架构思路

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

 

 

 

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

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

© 著作权归作者所有

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

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

嗯哼9925
2017/12/08
0
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
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
用TensorFlow基于神经网络实现井字棋(含代码)

摘要:为了展示如何应用神经网络算法模型,我们将使用神经网络来学习优化井字棋(Tic Tac Toe)。明确井字棋是一种决策性游戏,并且走棋步骤优化是确定的。 为了展示如何应用神经网络算法模型...

高可用架构
2017/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

利用责任链模式设计一个拦截器

前言 近期在做 Cicada 的拦截器功能,正好用到了责任链模式。 这个设计模式在日常使用中频率还是挺高的,借此机会来分析分析。 责任链模式 先来看看什么是责任链模式。 引用一段维基百科对其...

编程SHA
19分钟前
0
0
IDE,SATA,SCSI,SAS,FC,SSD说明与区别

DE是俗称的并口,SATA是俗称的串口,这两种硬盘是个人电脑和低端服务器常见的硬盘。SCSI是”小型计算机系统专用接口”的简称,SCSI硬盘就是采用这种接口的硬盘。SAS就是串口的SCSI接口。一般...

mskk
22分钟前
0
0
MySQL面试题集锦

什么是数据库索引?索引有哪几种类型?什么是最左前缀原则?索引算法有哪些?有什么区别? 索引是对数据库表中一列或多列的值进行排序的一种结构。一个非常恰当的比喻就是书的目录页与书的正...

老道士
57分钟前
0
0
使用 LogStash 归集日志

elastic 官网: https://www.elastic.co/ 为了便于集中查看多台主机的业务日志,使用 Filebeat, Redis, Logstash的方式进行收集: (1) Filebeat 监控日志文件的变化, 将新增部分写入redis中, 每...

ouhoo
今天
0
0
java序列化(六) - protostuff序列化

添加依赖 <dependency> <groupId>io.protostuff</groupId> <artifactId>protostuff-core</artifactId> <version>1.5.9</version> </de......

晨猫
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部