精通win32 api编程-windows图形界面编程_API简介(一)

0c4567e898b6b2f0bac20bd718471992.png

应用程序编程接口(API)是一个计算接口,限定了多个软件中介之间的相互作用。它定义了可以进行的调用或请求的类型,如何进行调用,应使用的数据格式,遵循的约定等。它还可以提供扩展机制,以便用户可以通过各种方式不同程度扩展现有功能。API可以完全针对组件定制,也可以基于行业标准进行设计以确保操作的互通性。通过信息隐藏,API支持模块化编程,允许用户独立使用界面。

使用API的目的

在构建应用程序时,API(应用程序编程接口)通过抽象化底层实现以及仅公开开发人员需要的对象或动作来简化编程步骤。电子邮件客户端的图形界面可能会为用户提供执行提取和突出显示新电子邮件所有步骤的按钮,而用于文件输入/输出的API可能会为开发人员提供一种将文件从一个位置复制到另一个位置的功能,而无需要求开发人员了解幕后发生的文件系统操作。

设计

API的设计对其使用有重大影响。信息隐藏的原理描述了编程接口的作用,即通过隐藏模块的实现细节来启用模块化编程,从而使模块用户无需了解模块内部的复杂性。因此,API的设计试图仅提供用户期望的工具。编程接口的设计是软件体系结构的重要组成部分,即复杂软件的组织。

发行政策

API是技术公司更常见的集成方式之一。提供和使用API的组件被视为业务生态系统的成员。

发布API的主要策略是:

  • 私有:该API仅供内部公司使用。
  • 合作伙伴:只有特定的业务合作伙伴可以使用API。例如,Uber和Lyft等租用公司的车辆允许经过批准的第三方开发人员直接在其应用程序内订购游乐设施。这使公司可以通过选择哪些应用程序可以访问API来进行质量控制,并为其提供额外的收入来源。
  • 公开:该API供公众使用。例如,Microsoft公开了Microsoft Windows API,Apple发行了自己的API Carbon和Cocoa API ,以便可以为其平台编写软件。通常,并非所有人都能访问所有公共API。例如,Cloudflare或Voxility之类的Internet服务提供商使用RESTful API,以允许客户和经销商访问其基础结构信息,DDoS统计信息,网络性能或仪表板控件。可以通过“ API令牌”或客户身份验证来授予对此类API的访问权限。

公共API的含义

API公开时的重要因素是其“接口稳定性”。对API的更改(例如,向函数调用中添加新参数)可能会破坏与依赖该API的客户端的兼容性。

当公开展示的API的某些部分可能发生更改且因此不稳定时,应将特定API的这些部分明确记录为“不稳定”。例如,在Google Guava库中,被视为不稳定的部分并且可能很快更改的部分将用Java注释标记@Beta。

公共API有时可以声明其自身的某些部分已弃用或废除。这通常意味着应将API的一部分视为要删除或以向后不兼容的方式进行修改的候选对象。因此,这些更改使开发人员可以脱离未来将被删除或不再受支持的API的某些部分。

客户端代码可能包含API设计人员不打算使用的创新用法或机会用法。换句话说,对于具有大量用户基础的库,当元素成为公共API的一部分时,可以多种方式使用它。2020年2月19日,Akamai发布了年度“互联网状况”报告,展示了针对全球金融服务中针对公共API平台的网络犯罪分子的增长趋势。从2017年12月到2019年11月,Akamai见证了854.2亿次凭证违规攻击。约20%(即165.5亿)与定义为API端点的主机名相对。其中,4.735亿针对金融服务部门组织。

更多EDI技术交流,欢迎私信或评论!

注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Forger 推荐的学习windows 编程的所有书籍都在这儿: windows 编程 windows MFC入门到精通 windows 高级编程 windows 网络编程 Programming Windows Programming Windows with MFC Programming Applications for Windows Network Programming for Microsoft Windows Programming Windows by Charles Petzold. The book to get on Win32 API. If you want to write programs using just the API (which is what this tutorial covers), you need this book. 如果你想只用windows API编程,这本书是入门经典,你需要这本书。 Programming Windows with MFC by Jeff Prosise. If you want to venture into MFC (AFTER becoming fully accustomed to using the Win32 API), this is the book for you. If you don't like MFC but intend on getting a job doing windows developement, get this anyway, it's better to know than not. 如果你想用MFC这本书是你想要的 Programming Applications for Windows by Jeffrey Richter. Not for newbies, if you want to be up on managing processes and threads, dlls, windows memory management, exception handling, and hooking into the system, then this is the book for you. 如果你想了解操作系统内幕,这本书是经典,书中包含了进程,线程,动态库,windows内存管理,异常处理。。。 Visual C++ Windows Shell Programming by Dino Esposito. For anyone interested in the visual and user-friendly aspects of windows, this book covers writing extentions to the windows shell, working efficiently with files and drag and drop, customizing the taskbar and windows explorer, and numerous other tricks. Well worthwhile for anyone writing GUI apps in windows. Network Programming for Microsoft Windows Up to date information on network programming, including NetBIOS, mailslots and pipes, and of course the ever important windows sockets, complete with winsock2 and raw sockets. Also contains specific information on the various windows platforms including 2000 and CE.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值