有些庫對我來說非常明顯。我的意思是我可以自己創建數學,字符串等庫。我不明白人們如何創建像OpenGL,OpenCV,DirectX和MFC這樣的API。我不懂如何自己編寫它們,就像編寫庫來計算數學和字符串函數一樣。網絡上有沒有資源可以教會我如何去做這件事。如何開始創建我自己的API /框架/庫
1
A
回答
1
這些類型的圖書館是由兩件事情驅動的。
1)是他們(特別是GPU架構,以及它們的能力和限制)正在使用的域名,並
2)的這些能力,鑑於由API設計模型。
簡而言之,某個對問題域有一些(理想)合理理解的人說:「我認爲,如果你想用GPU工作,我希望GPU看起來像這樣」,並提出了一個模型,呈現給API消費者。然後編寫該框架來轉換API設計人員根據底層機制(在本例中爲GPU)的實際工作原理設計的模型視圖。
考慮類似於對象關係映射器工具。在這裏,他們正在嘗試提供一個與底層關係表示交互的OO視圖。
設計師可能注意到他們想要的一些想法,試圖出來,看看它是如何做的逼真,然後開始在填補空白和拋光的邊緣。
你開始的方法是簡單地選擇一個你知道的領域,但不喜歡它的工作方式,並認爲「天哪,這會更好」,然後開始解決這個問題。如果事情順利,你會有一些動力,這個過程可能會從那裏變得更加有機。但是,理想情況下不要太有機。
難的是把你的新的API工作,並把它作爲人誰不知道這個API,或必然的域,會使用它。使用它也讓你有機會再次遇到「天哪,這會更好」。
沖洗和重複,直到你滿意的結果。
很少有紙張設計能夠在系統的實際開發中保持聯繫。有些比其他人做得更好,但是直到開始使用API時,很難知道API作爲開發人員的感受。
因此,嘗試了幾個API的你自己,學習那些你喜歡的,研究這些你恨,想如何讓他們更好地和工作理念上實現的一些證據,看看它是如何去。
相關問題
- 1. 創建我自己的PHP框架
- 2. 我應該從哪裏開始創建我自己的Swift庫?
- 3. 如何創建我自己的Java庫(API)?
- 4. 如何創建我自己的庫以開始使用操作系統?
- 5. 使我自己的框架
- 6. 如何在WPF中創建自己的窗口框架?
- 7. 我應該創建自己的框架嗎?
- 8. 在iphone中創建我們自己的框架工作
- 9. 如何爲我自己的庫創建本地Maven存儲庫?
- 10. 如何我們自己創建的框架添加到iPhone的SDK
- 11. 如何爲MVC API創建我自己的Authorize屬性
- 12. 如何創建我自己的Web API/Web服務
- 13. 如何創建我自己的安裝程序,檢查.net框架
- 14. 如何爲模塊創建我自己的初始化程序?
- 15. 創建自己的groovy庫
- 16. 如何創建我自己的加密?
- 17. 如何創建我自己的sap.suite.ui.generic.template.ObjectPage
- 18. 如何創建我自己的UITabBar?
- 19. 如何創建我自己的setSVMDetector?
- 20. 如何創建我自己的承諾?
- 21. 如何創建我自己的ListView UserControl?
- 22. 開始自己的wiki的建議?
- 23. 如何使用xcode創建我們自己的私有庫
- 24. 如何保護我在Rest框架中創建的Restful api
- 25. 消費我自己的REST API的Play框架
- 26. 開始構建我自己的mozilla的資源
- 27. 如何從我自己的webapp查詢我自己的web api?
- 28. Symfony的3 /創建自己的框架教程
- 29. 爲自己的框架創建新的誘惑適配器
- 30. 建設自己的iOS靜態庫 - 與其他框架鏈接