c++中模块的概念是指一个类还是一个cpp文件?
各位,oo要求设计高内聚低耦合的模块,那么在c++中模块意味着什么概念?
一个类还是一个文件?
如果是一个文件的话,如何确保高内聚,低耦合,将相关概念的类的定义都放入这个文件中吗?
问题点数:0、回复次数:45Top
1 楼CMyMfc(星际人生:=E.F=FlyForEver)回复于 2005-02-04 09:43:44 得分 0
可以是文件, 也可以是类, 也可以是其它
具体问题具体分析Top
2 楼darkstar21cn(≮天残≯无畏)(死亡进行时)回复于 2005-02-04 10:31:18 得分 0
甚至也可以是一个函数,只要它完成一个功能,它就可以视为一个模块Top
3 楼liem(阿明)回复于 2005-02-04 10:40:13 得分 0
一个类就是一个模块Top
4 楼fallhunter(不乖)回复于 2005-02-04 12:54:38 得分 0
其实模块并不对应于语言中的具体元素,
模块是一个具有相对独立功能的逻辑单元,
小到可以是一个函数,几个函数,
也可以是个可执行模块,具体的形式多种多样,
在c++中,由于类描述相对独立的功能和事物比较方便,
将类作为一个模块也最为常见。Top
5 楼arrowcy(长弓手)回复于 2005-02-04 13:15:48 得分 0
本来模块这个东西也没有人给他准确的定义吧
只不过我记得大多数时候一个模块通常都写到一个文件中,这个文件里面可以只有一个类,也可以只有一个函数。Top
6 楼gentlelover(花花)回复于 2005-02-04 14:58:43 得分 0
>>各位,oo要求设计高内聚低耦合的模块,那么在c++中模块意味着什么概念
难道我师傅是你领导?Top
7 楼CMyMfc(星际人生:=E.F=FlyForEver)回复于 2005-02-04 17:59:08 得分 0
oo又收徒弟了?Top
8 楼sandrowjw(我的小猫照片给弄坏了,心都碎了)回复于 2005-02-05 10:19:56 得分 0
汗……
模块可以认为是一个或者几个接口控制的一组相关实现。Top
9 楼sharkhuang(走吧走吧!人总会慢慢长大~)回复于 2005-02-06 11:02:38 得分 0
模块分明!就像积木能容易的搭键成很多形状。Top
10 楼dlyy(魑魅魍魉)回复于 2005-02-06 11:23:50 得分 0
实现一部分功能的代码的组合,就是一个模块,可以是一个类,几个类,可以是一个cpp,或者N个cppTop
11 楼joycenter(快乐之源)回复于 2005-02-10 21:26:27 得分 0
模块是按功能分的。 跟类 和 文件没有根本的联系。Top
12 楼joycenter(快乐之源)回复于 2005-02-10 21:28:39 得分 0
如果是一个文件的话,如何确保高内聚,低耦合,将相关概念的类的定义都放入这个文件中吗?
---这个跟类 存放的物理位置(在哪个文件中)无关的。
是指 类之间的独立(/关联,引用,调用)程度。(我的理解)Top
13 楼FePwaw(A呜)回复于 2005-02-15 23:28:33 得分 0
一般来说完成某个功能的部分就可以称为一个模块。
比如一个小工具,实现某个功能的某个函数可以称为模块。
一个类也可以称为模块。
某个组件化的软件,实现特定功能的动态(静态)库可以称为模块。Top
14 楼tanxingqiu(谈谈)回复于 2005-02-15 23:35:38 得分 0
从问题的上下文看,决不应该是一个文件 :)
具体模块是什么,这就难咯-Top
15 楼Squall1009(钰枫)(找工作ing)回复于 2005-02-16 13:24:26 得分 0
应该是完成了某一部分功能的类或者文件的集合吧Top
16 楼smallcrocodile(大鳄鱼)回复于 2005-02-17 15:37:14 得分 0
鼓掌Top
17 楼colin310(秋风无痕&&GhostFox)回复于 2005-02-24 04:21:51 得分 0
________________________________________
)()(
)()(
)()(
)()(
)()(
)()(
\\ )()( //
\\)()(//
------
||
||
||
||
||Top
18 楼ioriogami(八极推手er——VF铁杆非伪)回复于 2005-02-24 09:01:39 得分 0
C++的模块一般是指一组函数的集合,来实现某一领域特定的功能。表现形式可以是封装在dll中的一组接口,也可以是在某个namespace下的一组API等等,主要是一个逻辑概念。Top
19 楼ioriogami(八极推手er——VF铁杆非伪)回复于 2005-02-24 09:19:03 得分 0
模块的概念在oo之前,其实与oo还没什么关系。C++不是纯oo的,它包含很多思想。Top
20 楼ioriogami(八极推手er——VF铁杆非伪)回复于 2005-02-24 09:25:18 得分 0
当然一个类完全可以看作一个模块Top
21 楼sharkhuang(走吧走吧!人总会慢慢长大~)回复于 2005-02-24 13:17:47 得分 0
一个完成某些功能的代码集合Top
22 楼RedH(Desen)回复于 2005-03-01 10:09:16 得分 0
模板是一个抽象代码的集合。可以使类,也可以是函数。它可以替换原先的宏,编译器提供错误检查,不过还是比较复杂!Top
23 楼smith888898(思迷思)回复于 2005-03-21 09:13:50 得分 0
模块是指:一组相关的过程与被它们操作的数据组织在一起。
Top
24 楼w7x(舍我其谁)回复于 2005-03-21 13:35:41 得分 0
我的经理的意思指一个功能模块,一般实现为dll,这样可以达到重用的目的。
不过感觉有点烦:(
Top
25 楼quick221(codeplayer)回复于 2005-03-22 15:18:38 得分 0
自然是一个类Top
26 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-03-22 17:23:36 得分 0
多数情况下为一个类,cpp和hTop
27 楼Camper_beijing(Camper)回复于 2005-03-30 15:48:06 得分 0
要看你的编程风格了,模块是应个人 而意的!!!!]Top
28 楼quick221(codeplayer)回复于 2005-05-10 09:19:30 得分 0
有些东西没必要钻牛角尖的!:)Top
29 楼cbcbear(呼呼Zzz...)回复于 2005-05-10 13:03:43 得分 0
统一楼上Top
30 楼dzw2004(深蓝)回复于 2005-05-10 13:10:09 得分 0
可以是文件, 也可以是类,甚至也可以是一个函数,只要它完成一个功能,它就可以视为一个模块
Top
31 楼sum_1(正在喝水)回复于 2005-06-07 12:24:27 得分 0
他说做成DLL就DLL拉, 他是项目经理没话说,如果是其它的什么经理的话,
那你可以不听他的啊.Top
32 楼mostideal(三甲)回复于 2005-06-07 12:37:47 得分 0
完成某功能的一段代码。。。Top
33 楼foochow(无聊,灌水......)回复于 2005-06-07 12:39:47 得分 0
mark学习了^_^Top
34 楼PPower(月亮光光,照地堂)回复于 2005-06-09 12:48:28 得分 0
一般表現為一組相關的類,單個類也有,但不常見。Top
35 楼yangman211()回复于 2005-06-10 18:02:34 得分 0
upTop
36 楼virm(查无此人)回复于 2005-06-15 19:36:32 得分 0
我来几句废话
模块嘛,Module是也 (楼下不要扔我)
fallhunter(不乖) 说得比较准确啊,是个相对独立的逻辑单元
一般设计要求:
功能少
接口少
依赖少
内部细节不详,但是接口要少,最好是通过一个单独的Imp实现虚接口
未必要独立成DLL,但是一定要耦合度低,内部要完整
另外重用度高是模块的价值所在
Top
37 楼guycs(年轻人)回复于 2005-07-21 09:40:45 得分 0
模块一般都是功能的单位,很多时候就是一个函数Top
38 楼yhbttfile(小兵)回复于 2005-07-26 22:12:19 得分 0
模块是一个比较模糊的概念。
不过,在BS的《The C++ Programming Language Special 3rd Edition》中,把一个名字空间视为一个模块。Top
39 楼sankt(宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒.)回复于 2005-07-27 22:39:38 得分 0
学习
Top
40 楼yeyuboy(海绵)回复于 2005-07-29 10:09:14 得分 0
模块是一个广泛使用的概念,其意义与上下文密切相关。举个例子:
蚂蚁对蛤蟆说:“哇,你好大啊”
大象对蛤蟆说:“哇,你好小啊”
(蛤蟆问了:“我是大还是小啊?”)
如果我们站在大象的立场,蛤蟆是很小的。而站在蚂蚁的立场,蛤蟆是大的。你不知道蛤蟆的大小是因为你站在蛤蟆的立场。(开个玩笑)
模块表示的是对一个大事物的分割粒度。对于类这个大事物,模板可能就是一个个成员函数;对于一个可执行程序这个大事物,模块是一个个DLL;对于一个WINDOWS操作系统,模块如文件子系统等东西。
要想知道模块是什么,你得知道你心目中面对的所谓大事物是什么?Top
41 楼herryhuang(Herry)回复于 2005-07-29 21:09:43 得分 0
这个问题问得好奇怪,和下面的问题有点像
政府的一个部门指的是一个部还是一个局或者是一个处?或者指的是一个办公楼?一个大院内?
想一想吧,个人觉得这个类比还算恰当。
Top
42 楼Leadead(浪客)回复于 2005-07-29 21:27:05 得分 0
模块完全是一个软件工程中,软件设计阶段遇到的概念,是一种思想,是一个让你把一个无法解决的大问题分成方便解决的小问题的方法。其中每一个小问题的具体解决方法就是一个模块。所谓强内聚弱耦合就是让你解决小问题的时候尽量少的去牵连其他问题。而具体的实现则可以用很多方法,类派生对象就是一种典型的模块pulic声明的成员就是和模块联系的纽带,而保护成员就是你强内聚的表现~
模块是一种思想!Top
43 楼bluejugar(2046,那年我64.)回复于 2005-07-29 22:57:43 得分 0
不必拘泥于形式吧.
要具体问题具体分析.
yeyuboy说得挺好的.Top
44 楼fujike029(我懂的不多!)回复于 2005-08-20 09:47:15 得分 0
类只是模块的一种表现而已。
应该是指: 模块化设计,结构化编程吧?
Top
45 楼zhaoriyue(sam)回复于 2005-08-20 16:48:51 得分 0
设计中所提到的模块,是指拥有一系列紧密相关功能的实体集合,比如N个类或者一堆函数.在c++中所提到的模块,如果从编译角度出发,可以称为是可以单独编译的编译单位. 其实模块的解释有很多,不同的角度有不同的内涵,不必刻意去追究. 在不同的地方, 搞清它相对确切的内涵也就是了.Top




