在軟體開發中,經常說系統的架構,所謂搭架構的目的僅僅是為了系統的擴充套件性,對效能有多大幫忙?

時間 2021-05-07 07:28:36

1樓:

犧牲效能來換取可維護性的前提是你得有足夠的效能,現在的架構放到二十多年前的機器上,絕對完蛋。我們現在說架構是開發效率和執行效率的權衡,那是因為計算資源不是那麼吃緊。要是在早期,權衡個蛋,能跑起來的程式那都是最好的。

你可能不知道,最早的程式都是使用goto跳來跳去,後來才有了設計模式、vm等拯救開發者於水火的東西。這是因為效能發展到一定程度之後達到飽和,可維護性成了瓶頸,就和溫飽解決了開始重視精神需求一樣。而效能,只要權衡一下,調整到人類可以忍受的程度就可以了。

2樓:yunpeng pp

誰說架構和效能沒有直接關係呢?

誰說用了抽象工廠,依賴注入... 軟體的效能就能提高呢?

首先,你需要明白你說的架構是指什麼? 它的定義和範疇是什麼?架構和設計模式又有什麼區別?

軟體架構 Architecture 應該是個大的含義,軟體系統採用不同的架構,是反映了不同設計思想,

其架構設計是會影響軟體系統的效能。

舉個例子:

Linux 上的X windows的架構直接決定了linux的圖形顯示效能不如微軟的windows的圖形系統。

為什麼?因為設計思想根本不一樣!

Linux的GUI,應用程式是通過socket向X-WINDOW server傳送請求實現的,核心和GUI根本是平行的,GUI崩潰了系統也正常執行; 但windows的GUI是通過應用程式直接呼叫winows底層GUI函式來實現的,GUI和底層非常緊密,這提高了效能,但也導致了一旦GUI崩潰系統也基本完了。

3樓:jamesr

所以談論效能(performance)的時候只看速度快慢嗎?擴充套件性、穩定性不是效能的一部分?

既然說了performance,沒說speed,就不要只考慮速度。所以,題主應該改變自己的理解方式。

我的結論是,架構好是效能好的前提。別看中國目前似乎發展速度很快,但是發展得好不好大家都看在眼裡的。我們還在沒日沒夜拼速度的時候,發達國家利用架構和你比效能。

別提中國出不來諾貝爾科學獎,別提中國出不了Intel,那是我們的領導沒意識到架構的重要性。

4樓:

沒有,很多優化是很髒的,架構的設計只和需求有關,如果效能是乙個需求,那麼架構就會朝著優化效能的方向去做。抽象工廠,依賴注入是為了解耦,跟效能有個毛關係。

5樓:劉超

你的理解是對的,搭架構跟效能好壞沒有直接關係。不過如果程式設計師素質不高的情況下,多用些開源的東西搭架構會少出些不必要的效能問題。

做程式語言和軟體開發Windows系統好一點還是蘋果Mac好一點?

我是電子狗,軟體也分是什麼軟體開發。如果是IOS開發,伺服器前後端開發,MAC上的應用開發,我覺得用買Mac沒啥毛病。但是除了IOS和Mac應用的開發,其實Windows或者linux都能幹。如果要搞深度學習,首選就是非Mac的,因為很多深度學習庫都不支援A卡,涼涼。嵌入式開發,FPGA開發,Mac...

針對軟體開發專案的專案管理系統有哪些?

田小姐 排行榜前十有天翎 禪道bai teambition等等,多個中du小型專案同時使用的話,可zhi以使用禪道 teambition這之類的dao,如果是科研專案的話可以選擇天翎 說一下這類軟體的特點 支援SaaS雲端,如果預算足夠可以直接買斷私有化部署 具體功能如下 支援專案組合與專案策略管理...

你願意參加linux或鴻蒙系統軟體開發大賽嗎,最高獎金一百萬,每年獎勵至少一萬個開源或非開源專案?

歷歷 不願意,本來想參加的,看了你這個介紹我覺得我還是老老實實搬磚吧,就10個10w萬的,1估計拿不到,1萬的就沒必要寫,寫個軟體後台前端切圖設計啥的乙個人乙個月做不完,時間長了花時間成本就沒了。要是這樣還好說,公司的專案也可以拿來參加嘛,結果你特麼要開源到github上要star,我要是開源了我就...