“API”之我见

       最近,我读了CSDN上面的一篇文章《API:互联网是如何在幕后工作的?》(http://www.csdn.net/article/2015-01-26/2823692)。作者认为,没有API,应用之间的通信将会被扼杀;软件开发者将不断重写并执行相同功能的软件;创新的脚步将会放缓。

        确实,在大型的软件系统中,API随处可见。大到一个软件系统,小到几行程序,只要具备了一定的特征,都可以被称作API。那么,什么是API?它有哪些特征呢?

        API的定义

       在软件系统中,一个成型的(封装好的)、可以实现特定功能的、可供其它模块调用的程序就叫做APIAPI的形象化表示如图1所示。

1 API的形象化表示

        如图1所示,“特定功能模块”可以被“软件模块A”、“软件模块B”和“软件模块C”调用,那么该“特定功能模块”就是一个API

 

        API的特征

       作为一个API,它有可能被很多的模块调用,其主要特征包括:

       第一,其实现的功能具备通用性,很多的软件模块都涉及到该功能。

       第二,其功能具备稳定性,已经过了严格的测试。

       第三,其执行效率较高,已经过一定的优化。

 

       API的实例

       把实现“将字符串中的大写字母变为小写字母”功能的程序写成一个函数,如下所示:

/**********************************************************************
*功能描述:将字符串中的大写字母变为小写字母
*输入参数: *pszInStr-输入/输出字符串
             iInLen-字符串长度
*输出参数: *pszInStr-输入/输出字符串
*返 回 值: 0-成功  -1-失败
*其它说明: 无
*修改日期         版本号      修改人         修改内容
* ---------------------------------------------------------------------
* 20150330         V1.0     Zhou Zhaoxiong      创建
***********************************************************************/
INT32 StrToLowerCase(UINT8 *pszInStr, UINT32 iInLen)
{
    UINT32 iLoopFlag = 0;

    if (pszInStr == NULL)       // 判断输入字符串是否为空
    {
        printf("StrToLowerCase: Input string is NULL!");
        return -1;              // 返回-1表示该函数执行失败
    }

    for (iLoopFlag = 0; iLoopFlag < iInLen; iLoopFlag ++)
    {
        pszInStr[iLoopFlag] = tolower(pszInStr[iLoopFlag]);
    }

    return 0;                  // 返回0表示该函数执行成功
}

 

       该函数就可以被当成一个API来使用。当软件程序中涉及到需要将大写字母变为小写字母时,都可以直接调用该函数而不需重新编写。

 

       总结

       软件代码的模块化是提高编程效率的一个重要的方法,而封装好的一个模块其实就是一个API。善于调用API,不仅能够提高工作效率,而且能够在一定程度上提高软件代码的可读性。因此,作为一名合格的软件开发人员,一定要学会编写并调用API

 

 

 

(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识的港湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值