關於軟件架構的一些“小事”

軟件架構(software architecture)就是軟件的基本結構。

合適的架構是軟件成功的最重要因素之一。大型軟件公司通常有專門的架構師職位(architect),只有資深程序員才可以擔任。

架構設計的依據是什麼?

當然是需求,但架構設計思想中最有價值的東西,莫過於用風險分析來驅動架構設計,為什麼這是個有價值的策略呢?因為一個產品設計中要考慮的問題很多,但只有在發現風險與消除風險的過程中,發現和抓住高風險的部分,才可以針對潛在威脅有重點地提出設計解決方案,甚至改變我們的設計思想,從而設計出更加良好的產品。

關於軟件架構的一些“小事”

雲結構(cloud architecture)主要解決擴展性和併發的問題,是最容易擴展的架構。

它的高擴展性,主要原因是沒使用中央數據庫,而是把數據都複製到內存中,變成可複製的內存數據單元。然後,業務處理能力封裝成一個個處理單元(prcessing unit)。訪問量增加,就新建處理單元;訪問量減少,就關閉處理單元。由於沒有中央數據庫,所以擴展性的最大瓶頸消失了。由於每個處理單元的數據都在內存裡,最好要進行數據持久化。

黑板模式是什麼?

這種模式對於沒有確定解決方案策略的問題是有用的。黑板模式由3個主要組成部分組成。

黑板——包含來自解決方案空間的對象的結構化全局內存

知識源——專門的模塊和它們自己的表示

控制組件——選擇、配置和執行模塊

關於軟件架構的一些“小事”

所有的組件都可以訪問黑板。組件可以生成添加到黑板上的新數據對象。組件在黑板上查找特定類型的數據,並通過與現有知識源的模式匹配來查找這些數據。

有時候怕就怕未知的風險,迷茫的眼神,這種坑,數量多少不清楚,影響多深不清楚,難填。以前遇到這問題,我可能會到處查資料,自己單搞,速度慢不說,容易走岔道。最好問專家,這樣專家會幫你打開視野,給你一些成熟的框架,按照這樣的方式去解決,解決問題的質量就能有些保障,俗話說就是讓老司機帶路。

架構是進化出來的。架構實際上是在量不斷的增大,超過了單臺服務器的容量,逐漸的分拆,同時導致超過單個人員的能力,工作人員不斷的增多,工作內容不斷的分拆形成的。這本身就是架構的意義所在。不管怎麼分拆,所達到的目標沒有任何變化,就是完成業務在計算機中的虛擬化。

關於軟件架構的一些“小事”

尚學堂12大精英團隊+各類實戰項目,真正實現1+1>10的目標效果。幫助學員迅速成長,持久騰飛,成就學員“高富帥”人生;幫助企業技術和團隊成長,成就百年中華名企;助力中國持續成為世界強國而貢獻力量。尚學堂12大精英團隊,覆蓋IT行業十大領域,實戰團隊240人,服務學員累計超過10萬人,就業合作企業數量500+。


分享到:


相關文章: