模块化的提出:对于一些程序,函数组成少的时候,可以放在一个源文件中。
如下面的“猜硬币游戏”,只有4个函数组成
#include<iostream> #include<cstdlib> #include<ctime> using namespace std; void prn_instruction(); void play(); int get_call_from_user(); int main() { prn_instruction(); play(); return 0; } void prn_instruction() { cout << "这是一个猜硬币正反面的游戏"; cout << "具体规则如下:"; } void play() { int coin; char flag = ‘Y‘; srand(time(NULL)); //设置随机数种子 while (flag == ‘Y‘ || flag == ‘y‘) //程序继续进行下去 { coin = rand() * 2 / (RAND_MAX + 1); //生成0 or 1 if (get_call_from_user() == coin) cout << "你赢了"; else cout << "你输了"; cout << "\n继续玩吗??(Yory)"; cin >> flag; } } int get_call_from_user() { double guess; do { cout << "\n输入你的选择(0表示正面,1表示反面):"; cin >> guess; } while (guess != 0 && guess != 1); return guess; }
但是,当程序很复杂或由很多函数组成的时候,要在一个源文件中处理如此如此众多的函数会变得很困难。
需要将这些函数分解成多个源文件(此即模块),每个源文件包含一组相关的函数。
如何划分模块??
1.同一模块中的函数功能较类似,不同模块中的函数联系很少
2.减少模块间的相互依赖程度
也就是:
模块化思想
1. 将系统分成很多的模块,模块内部关注自身需要实现的核心业务。
2. 模块化的典型特点是:“模块间的低耦合”和“模块内的高聚合”。
模块化例子参考
时间: 2024-10-26 13:58:12