如何创建自己的API / Framework / Libraries

时间:2011-06-17 00:37:17

标签: winapi api frameworks programming-languages libraries

有些图书馆对我来说非常明显。我的意思是我可以自己创建数学,字符串等库。我不明白人们如何创建API,如OpenGL,Op​​enCV,DirectX和MFC。我不知道如何自己编写它们就像我编写库来计算数学和字符串函数一样。网上是否有任何资源可以告诉我如何做到这一点。

1 个答案:

答案 0 :(得分:1)

这些图书馆由两件事驱动。

1)是他们正在从事的领域(尤其是GPU架构及其功能和局限性),以及

2)API设计者视图中的那些功能模型。

简单地说,对问题领域有一些(理想的)合理理解的人说“我想如果你想使用GPU,我希望GPU看起来像这样”,并提出了一个模型来呈现到API消费者。然后编写框架来转换API设计者使用底层机制(在本例中为GPU)的实际工作方式设计的模型视图。

考虑类似对象关系映射器工具。在这里,他们尝试提供与底层关系表示相匹配的OO视图。

设计师可能会对他们想要的东西有所了解,试一试,看看它有多么逼真,然后开始填补空白并抛光边缘。

你开始的方法就是选择一个你知道但不喜欢它的工作方式的领域,然后想“天哪,它会更好”,然后开始解决这个问题。如果事情进展顺利,你会有一些动力,这个过程可能会从那里变得更有机。但是,理想情况下不要太有机。

困难的部分是让您的新API工作,并将其用作不知道API或域必然会使用它的人。使用它还可以让你有机会再次遇到“gosh,这样会更好”。

冲洗并重复,直到您对结果感到满意为止。

很少有纸张设计能够与系统的实际开发保持联系。有些人比其他人做得更好,但是在你开始使用它之前很难知道API会如何成为开发人员。

所以,你可以自己尝试一些api,研究你喜欢的api,研究你讨厌的东西,然后思考如何让它们变得更好,并研究一些概念实现的证据,看看它是如何发展的。