zoukankan      html  css  js  c++  java
  • 模块化开发

    模块化的提出:对于一些程序,函数组成少的时候,可以放在一个源文件中。

    如下面的“猜硬币游戏”,只有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;
    }
    View Code

    但是,当程序很复杂或由很多函数组成的时候,要在一个源文件中处理如此如此众多的函数会变得很困难。

    需要将这些函数分解成多个源文件(此即模块),每个源文件包含一组相关的函数。

    如何划分模块??

    1.同一模块中的函数功能较类似,不同模块中的函数联系很少 

    2.减少模块间的相互依赖程度

    也就是:

    模块化思想

    1.     将系统分成很多的模块,模块内部关注自身需要实现的核心业务。

    2.     模块化的典型特点是:“模块间的低耦合”和“模块内的高聚合”。

    模块化例子参考

  • 相关阅读:
    python 网络爬虫(三)
    python 网络爬虫(二)
    python 网络爬虫(一)
    python 爬虫原理
    (转)栈的生长方向
    CRC校验
    extern关键字
    E
    The Super Powers UVA
    V
  • 原文地址:https://www.cnblogs.com/skylover/p/7124153.html
Copyright © 2011-2022 走看看