讨论下程序的模块组成问题

softarts 2001-03-11 02:29:00
不知道大家有没有体会,就是一个程序里各个模块非常多,每个模块又有
一大堆类,还有许多全局函数,全局变量,大家是怎样将它们有效的组织的?
我也试着去看一些比较出名的软件的源码,如freeamp,bo2k。我看到freeamp
整个workspace分成许多project,有些project的link输出名字为xxx.ui,xxx.pif
这些不清楚是什么格式的文件,难道是freeamp自己定义某种格式的模块,最后
它又是怎样将这些模块联编的呢?

再将问题细化一点,我常常在MFC程序中以MS所谓的dna结构去组织各个类,如属于
UI的一类(这些类一般是从MFC继承过来的),管逻辑的一类(这一类通常是自己写
的一些类),再往下就是底层的了,如自己构造的网络传输模块,系统处理模块等等。
但是我见到学校里多数人的做法是具体的处理函数也直接写在视图类里,一个ListView
里密密麻麻一大堆函数,我的感觉就是很混乱,应该分开,这也利于以后的UI Layer
和LOGIC Layer的复用,大家是怎么看的?

当然了,有种情况就是它的那个ListView是从别人已经做好的、有很好看的UI的类继
承过来的,他的主要任务就是在这个继承过来的ListView加一些LOGIC处理用的函数,
总的代码量不多,逻辑组成也很明显,UI在基类里,处理部分在继承的类里,可是我
还是不喜欢这样,一般我都会在另外写个类,因为自己的c++基础不是很好,再加上自
己的这种想法可能不对也引出不少几个类组合起来的问题。比如我常常会犯重定义某
个变量(redefine)的错误,原因就在于几个类之间交叉声明(a.h中 include b.h,c.h,
c.h中 include b.h ),还有就是一些全局变量和函数不知道该放在那里,不知道一个类
是new出来好还是直接声明,在编译时初始化好,搞不清什么时候将几个类放在同一个文
件里合适...

最后还要问一个问题:写一些小程序到了一定的阶段,各位觉得是去学点UML,软工的课程,学下ROSE的使用会对作大程序有帮助还是先去看看别人做的大程序,自己从模仿到独立编写,最后到成长到差不多要做Project Manager的时候了再看这些Software Engineer的书、软件呢?前段时间和周围的几个同学讨论这些问题,看法都不一致。

除开codeguru和codeproject,不知道各位还常去什么站点?这两个站点的代码都是比较小规模的真希望能多看点大型的源代码。大家认为sourceforge的代码质量、难度怎样?

请问有什么C/C++的邮件列表?
...全文
258 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
softarts 2001-09-24
  • 打赏
  • 举报
回复
up,
准备结了,分不多,谁要?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧