日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

什么是系統架構?

 

什么才是“軟件架構”呢?軟件架構師的工作內容究竟是什么?這項工作又是什么時候進行的呢?

軟件架構師自身需要是程序員,并且必須一直堅持做一線程序員,絕對不要聽從那些說應該讓軟件架構師從代碼中解放出來以專心解決高階問題的偽建議。

軟件架構師其實應該是能力最強的一群程序員,他們通常會在自身承接編程任務的同時,逐漸引導整個團隊向一個能夠最大化生產力的系統設計方向前進。也許軟件架構師生產的代碼量不是最多的,但是他們呢必須不停的承接編程任務。

如果不親自承受因系統設計而帶來的麻煩,就體會不到設計不佳所帶來的痛苦,接著就會逐漸迷失正確的設計方向。

軟件系統的架構質量是由它的構建者所決定的,軟件架構這項工作的實質就是規劃如何將系統拆分成組件,并安排好組件之間的排列關系,以及組件之間互相通信的方式。

軟件架構的終極目標就是最大化程序員的生產力,同時最小化系統的總運營成本。

所有的軟件系統都可以降解為策略與細節這兩種元素。策略體現的是軟件中所有的業務規劃和操作過程,因此它是系統真正的價值所在。

優秀的架構師會小心地將軟件的高層策略與其底層實現隔離開,讓高層策略與實現細節脫鉤,使其策略部分完全不需要關心底層細節,當然也不會對這些細節有任何形式的依賴。

一、獨立性

一個設計良好的架構應該能允許一個系統從單體結構開始,以單一文件的形式部署,然后逐漸成長為一組相互獨立的可部署但愿,甚至是獨立的服務或者微服務。最后還能夠隨著情況的變化,允許系統逐漸回退到單體結構。

二、劃分邊界

軟件架構設計本身就是一門劃分邊界的藝術。邊界的作用是將軟件分割成各種元素,以便約束邊界兩側之間的依賴關系。其中有一些邊界是在項目初期——甚至在編寫代碼之前——就已經劃分好,而其他的邊界則是后來才劃分的。在項目初期劃分這些邊界的目的是方便我們盡量將一些決策延后進行,并且確保未來這些決策不會對系統的核心業務邏輯產生干擾。

正如我們之前所說,架構師們應該追求的目標是最大限度地降低構建和維護一個系統所需的人力資源。那么我們就需要了解一個系統最消耗人力資源的是什么?答案是系統中存在的耦合——尤其是那些過早做出的、不成熟的決策所導致的耦合。

那么,怎樣的決策會被認為是過早且不成熟的呢?答案是那些決策與系統的業務需求無關。

三、邊界剖析

所謂劃分邊界,就是指在這些模塊之間建立這種針對變更的防火墻。

系統架構中最強的邊界形式就是服務。

四、策略與層次

本質上,所有的軟件系統都是一組策略語言的集合。軟件架構設計的工作重點之一就是,將這些策略彼此隔離,然后將它們按照變更的方向進行重新分組。其中變更原因、時間和層次相同的策略應該被分到同一個組件中。分之,變更原因、時間和層次不同的策略則應該分屬于不同的組件。

軟件設計的工作常常需要將組件重排組合成為一個有向無環圖。一般來說,低層組件被設計為依賴于高層組件。

五、業務邏輯

業務邏輯是一個軟件系統存在的意義,它們屬于核心功能,是系統用來賺錢火省錢的那部門代碼,是整個系統的皇冠明珠。

這些業務邏輯應該保持純凈,不要摻雜用戶界面或者所使用的數據庫相關的東西。在理想情況下,這部門代表業務邏輯的代碼應該是整個系統的核心,其他底層概念的實現應該以插件的形式借入系統中。業務邏輯應該是系統中最獨立、復用性最高的代碼。

六、尖叫的軟件架構

Jacobson:軟件的系統架構應該為該系統的用例提供支持。這就像住宅和圖書館的建筑計劃滿篇都在非常明顯地凸顯這些建筑的用例一樣,軟件系統的架構設計圖也應該非常明確地凸顯該應用程序會有那些用例。

架構設計的核心目標

一個良好的架構設計應該圍繞著用例來展開的,這樣的架構設計可以在脫離框架、工具以及使用環境的情況下完整地描述用例。這就好像一個住宅建筑設計的首要目標應該是滿足住宅的使用需求,而不是確保一定要用磚來構建整個房子。

而且,良好的架構設計應該盡可能地允許用戶推遲和延后決定采用什么框架、數據庫、Web 服務以及其他與環境相關的工具。

同時,良好的架構設計還應該讓我們很容易改變這些決定。

框架是工具而不是生活信條

一個系統的架構應該著重于展示系統本身的設計,而并非該系統所使用的框架。

分享到:
標簽:架構 系統
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定