我目前正在研究用C語言編寫的REST API,我很想聽聽關於我當前架構的第二種意見以及它如何被重構。關於媒體流式架構的第二種觀點
所以基本上它是一個音頻流媒體平臺,有兩種類型的調用 - 同步和異步。我們正在建立它,尤其是audiobridge插件。
問題:我們目前janus_audiobridge
文件已長得太大,它相當困難的導航槽它(在一個單一的文件5K左右行代碼)。所以我決定了重構的時間。
我目前的解決方案和它的問題:我的想法是分離同步和異步調用到2個單獨的文件。通過這種方式,混合音頻和rtp轉發的所有內容將位於主要janus_audiobridge
文件中,實際的端點將是分離的。
但是,這種方法的問題是同步/異步調用仍然使用來自主要janus_audiobridge
文件的結構和靜態變量。所以我必須將它們傳遞給處理程序方法。這很醜陋。
您將如何構建這種系統?
謝謝!
通過編譯單元共享全局變量通常是一個壞主意。您應該考慮將變量分組到結構對象中,這些對象可以在需要時輕鬆傳遞給函數。最小化模塊之間的依賴關係。 – user694733
另外,2個源文件聽起來很少。如果文件與其他代碼明顯不同,那麼使用少於100行代碼的文件是毫無恥的。 – user694733
謝謝,結構的好主意(我可以將一個指針傳遞給一個結構的方法,它應該可以訪問所有的東西)。是的,我已經打破了幾件事。謝謝! – IvRRimUm