C++/Java式面向對象在Rust實踐中所遇問題及解決辦法

文檔列表見:Rust 移動端跨平臺複雜圖形渲染項目開發系列總結(目錄)git

歸納:這是我用Rust寫圖形渲染項目的經驗總結,並非建議你們這麼用,使用哪一種編程範式應根據團隊背景及業務需求而定。C++/Java/C#等基於繼承的面向對象作法很容易違反Rust的借用檢查機制,強行堅持這種作法會讓Rust代碼難以閱讀,也違背了代碼應該保持簡潔易讀的初衷。雖然Rust支持基於組合的面向對象,也由於借用檢查機制的影響致使代碼和咱們用Java實現的面向對象存在一些差別,讓開發者感受不自在。
通過幾回重構,目前我的傾向面向數據編程、基於組合實現平鋪數據結構及儘量小的面向對象思路封裝業務須要的數據結構。同時,藉助數據視圖(Data View)方案解決目前借用檢查機制不夠智能的缺陷。github

未完待續編程

學習資料:session

相關文章
相關標籤/搜索