2016年末程式設計師應該知道的基本架構思想
說到系統的架構,初學者可能沒有意識到,對於已經從事多年的開發的朋友可能會知道,一個系統的運作是否正常,是否能夠高效的運作關鍵在於系統的架構,因為一個系統只有一個好的架構才能支援更多的使用者,更多的應用接入到系統中。下面新霸哥將和大家分享一些關於系統架構方面的一些問題。
很多的程式設計師可能會有這樣的一個想法那就是,能夠完成程式設計任務,不管程式是怎麼實現的,程式的記憶體執行情況,程式的內部是怎麼執行的,可能很多的朋友都不會關心。這也是現在很多的程式設計師面臨的一個非常嚴重的問題,最為一個合格的程式設計師不僅要快速完成程式設計任務還要保證程式碼的質量,所謂的質量就是程式的內部執行情況,包括程式在執行的時候記憶體的分配情況,程式的效能問題是最為關鍵的一個問題。
說到這裡新霸哥來說一個真實的事情,新霸哥的一個朋友能夠在一臺配置很低的電腦上快速的跑出一個資料量是千萬級的一個儲存過程,這是什麼概念,可能,可見程式的執行不要依賴系統的硬體資源,你要知道,我們的所做的工作就是要在用最少的資源來實現最大的價值,這才是我們這些程式設計師所要努力做的事情,其實,要做到這樣的水平,並不是那麼難的,只要你肯努力就能達到這樣的水平的,當然這樣的路還很長的。
資料分離
一個好的系統是需要做的不依賴資料,為了考慮後期的資料遷移或者更換資料庫這樣的操作,程式設計師要有這樣的意識,在寫程式碼的時候要注意和資料操作的這部分要分離開來,如果有資料庫變更可以直接的修改資料操作這部分,這樣就能達到改動小,減少了重複工作的可能性。當然要做到資料分離還不是一個簡單的事情,需要做的事情真的很多的。一般資料的操作都是在DAO這層,對於操作SQL這部分,新霸哥一般都是建議不要把SQL寫在程式中,這樣如果後期sql有改動是不是要改動專案,重新編譯,如果你是把SQL寫在配置檔案中,只需要改一個配置檔案就好了,是不是很簡單,程式設計師在寫任何一個和資料庫操作的時候都應該考慮這個問題的,因為只有你在不斷的思考,才有進步的。
低耦合
現在的系統功能都很複雜的,如果在系統架構的時候不考慮耦合這個問題,後面的會有很多的問題的,因為你的一個簡單的操作,看似很簡單的,但是你會發現這個和系統的其他部分是有聯絡的,系統的正常運作是沒有問題的,考慮到系統的後期擴充套件就很難了,開始設計的時候沒有考慮這個問題,後面在做就要重新開始了,試想一下作為一個大型的軟體,如果遇到這樣的問題可能是毀滅性的打擊。
高效能
程式碼的好壞不是簡單的看你寫了多少,而是程式碼在不同的環境中,是否能夠正常的執行,對系統的物理資源是否有依賴性。有句話說的好,好的程式碼不是寫出來的,是改出來的,說的非常好,其實只要你仔細觀察你會發現你的大部分時間都是在系統的除錯上,功能的實現其實不是那麼的難,合格的程式設計師都知道,高效能是他們的追求的目標。
高移植
一個大型的應用系統可能在不同的環境中都有釋出,如果才能做到這樣的功能,其實很簡單,就是在開發系統前,系統架構這部分要考慮的問題。程式設計師應該有這樣的意識無論是大型專案還是小型的專案都應該用更高的要求來對待任何一個軟體專案,這樣你會發現後期的工作會很輕鬆的。
作為一個程式設計師不能永遠都停留在寫程式碼這個層次上,而是要對自己要求嚴格一點,開發任何一個系統都要考慮系統的高可用性,用高併發,嚴格要求自己,你會發現自己在2017年有更多的收穫。如果你在學習的過程中遇到問題歡迎和新霸哥交流。
很多的程式設計師可能會有這樣的一個想法那就是,能夠完成程式設計任務,不管程式是怎麼實現的,程式的記憶體執行情況,程式的內部是怎麼執行的,可能很多的朋友都不會關心。這也是現在很多的程式設計師面臨的一個非常嚴重的問題,最為一個合格的程式設計師不僅要快速完成程式設計任務還要保證程式碼的質量,所謂的質量就是程式的內部執行情況,包括程式在執行的時候記憶體的分配情況,程式的效能問題是最為關鍵的一個問題。
說到這裡新霸哥來說一個真實的事情,新霸哥的一個朋友能夠在一臺配置很低的電腦上快速的跑出一個資料量是千萬級的一個儲存過程,這是什麼概念,可能,可見程式的執行不要依賴系統的硬體資源,你要知道,我們的所做的工作就是要在用最少的資源來實現最大的價值,這才是我們這些程式設計師所要努力做的事情,其實,要做到這樣的水平,並不是那麼難的,只要你肯努力就能達到這樣的水平的,當然這樣的路還很長的。
資料分離
一個好的系統是需要做的不依賴資料,為了考慮後期的資料遷移或者更換資料庫這樣的操作,程式設計師要有這樣的意識,在寫程式碼的時候要注意和資料操作的這部分要分離開來,如果有資料庫變更可以直接的修改資料操作這部分,這樣就能達到改動小,減少了重複工作的可能性。當然要做到資料分離還不是一個簡單的事情,需要做的事情真的很多的。一般資料的操作都是在DAO這層,對於操作SQL這部分,新霸哥一般都是建議不要把SQL寫在程式中,這樣如果後期sql有改動是不是要改動專案,重新編譯,如果你是把SQL寫在配置檔案中,只需要改一個配置檔案就好了,是不是很簡單,程式設計師在寫任何一個和資料庫操作的時候都應該考慮這個問題的,因為只有你在不斷的思考,才有進步的。
低耦合
現在的系統功能都很複雜的,如果在系統架構的時候不考慮耦合這個問題,後面的會有很多的問題的,因為你的一個簡單的操作,看似很簡單的,但是你會發現這個和系統的其他部分是有聯絡的,系統的正常運作是沒有問題的,考慮到系統的後期擴充套件就很難了,開始設計的時候沒有考慮這個問題,後面在做就要重新開始了,試想一下作為一個大型的軟體,如果遇到這樣的問題可能是毀滅性的打擊。
高效能
程式碼的好壞不是簡單的看你寫了多少,而是程式碼在不同的環境中,是否能夠正常的執行,對系統的物理資源是否有依賴性。有句話說的好,好的程式碼不是寫出來的,是改出來的,說的非常好,其實只要你仔細觀察你會發現你的大部分時間都是在系統的除錯上,功能的實現其實不是那麼的難,合格的程式設計師都知道,高效能是他們的追求的目標。
高移植
一個大型的應用系統可能在不同的環境中都有釋出,如果才能做到這樣的功能,其實很簡單,就是在開發系統前,系統架構這部分要考慮的問題。程式設計師應該有這樣的意識無論是大型專案還是小型的專案都應該用更高的要求來對待任何一個軟體專案,這樣你會發現後期的工作會很輕鬆的。
作為一個程式設計師不能永遠都停留在寫程式碼這個層次上,而是要對自己要求嚴格一點,開發任何一個系統都要考慮系統的高可用性,用高併發,嚴格要求自己,你會發現自己在2017年有更多的收穫。如果你在學習的過程中遇到問題歡迎和新霸哥交流。
相關文章
- 程式設計師都應該知道的福利程式設計師
- 程式設計師應該知道的 13 個設計技巧程式設計師
- 程式設計師最應該知道的20件事程式設計師
- 每個程式設計師都應該知道的基礎數論程式設計師
- 程式設計師應該知道的97件事程式設計師
- 每個程式設計師應該知道12件事程式設計師
- 程式設計師最應該知道的一些事程式設計師
- 每個程式設計師應該知道的12個API程式設計師API
- Python 程式設計師應該知道的 10 個庫Python程式設計師
- 新手程式設計師應該知道的7件事程式設計師
- Java程式設計師應該知道的20個有用的庫Java程式設計師
- 每個Android程式設計師應該知道的KotlinAndroid程式設計師Kotlin
- Java程式設計師應該知道的10個除錯技巧Java程式設計師除錯
- 程式設計師都應該知道的福利【必知必懂】程式設計師
- 前端程式設計師應該知道的 15 個 jQuery 小技巧前端程式設計師jQuery
- 2016年末程式設計師突破自我的絕密方法分享程式設計師
- 程式設計師Windows上應該知道的軟體開發神器程式設計師Windows
- 程式設計師該知道的那些程式設計比賽網站程式設計師網站
- 設計師都應該知道的ICON知識
- 每個程式設計師應該知道的計算機網路知識程式設計師計算機網路
- 程式設計師應知道的12件事程式設計師
- 程式設計師越來越火了,程式設計師的發展你應該知道的一些事!程式設計師
- 關於 Unicode 每個程式設計師應該知道的 5 件事Unicode程式設計師
- Java程式設計師應該知道的10個物件導向理論Java程式設計師物件
- 每個程式設計師都應該知道的 15 個最佳 PHP 庫程式設計師PHP
- 每個程式設計師都應該成為架構師程式設計師架構
- 程式設計師應該遵守的程式設計原則程式設計師
- 程式設計師應該擁有的程式設計師
- (轉)程式設計師應知道的12件事程式設計師
- 每個程式設計師都應該知道的下一個程式語言——Kotlin程式設計師Kotlin
- 準備下次程式設計面試前你應該知道的資料結構程式設計面試資料結構
- 架構師害怕程式設計師知道的十項技能架構程式設計師
- 程式設計師應該每天寫程式碼程式設計師
- 程式設計師都應該知道的URI,一文幫你全面瞭解程式設計師
- 程式設計師應該接外包嗎?程式設計師
- 程式設計師應該具備能力程式設計師
- 應該怎麼管理程式設計師?程式設計師
- 從李小龍的思想看程式設計師程式設計之道程式設計師