您好,登錄后才能下訂單哦!
進行架構設計要了解的思維方式有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
架構設計是門藝術。
一個優秀的程序員要想成為一名優秀的架構設計師,就改變編程的思維,學會使用架構設計的思維方式。
架構設計的思維方式有以下幾種:
分而治之,是把一件籠統模糊的事項變得清晰,把復雜的事項變得簡單的思維方式。而這正是我們進行架構設計首要達成的目標。
架構設計師必須要學會架構分解,將軟件的功能和非功能需求在架構的多個層面進行分解。
架構分解的時機要恰當,不要過早分解、也不要過度分解,通常的分解時機就是架構構造和演變時。
架構分解應當遵循以下原則:
高內聚、低耦合。
層次性。分解的順序一般是系統→子系統→模塊→組件→類。
正交原則。分解出的架構元素符合正交原則。
抽象原則。分解出的架構元素應當是架構設計師抽象的結果。
穩定性原則。應當將穩定架構元素和不穩定的架構元素獨立。
復用性原則。架構設計應當和軟件一樣,要考慮復用和可復用的設計。
分而治之的目的是降低難度,但軟件的設計和實現最終還是要將分解的各個元素組合在一起。所以,不能為了分解而分解,在分解的過程中也要考慮將來的集成。畢竟如果分解后的內容無法集成在一起,分解得再詳細,再清晰也沒有任何意義。
動靜分離的思維方式要求將系統中的靜態資源與動態資源分離,同時又要注意二者結合的架構設計。因為動態的流程和用例無法離開靜態的數據和類就能自行完成的。
復用是最佳的軟件工程實踐,沒有之一。復用可以給我們帶來以下好處:
較高的生產率。
較高的系統質量。
改善系統的可維護性。
所以,我們在進行架構設計時也需要使用復用思維,將各個模塊需要用到的共性功能抽取為可復用的共性組件。
我們可以將復用分為常規復用和系統層復用。
其中常規復用又可分為代碼復用、算法復用、數據結構的復用;系統層復用又可分為設計復用、分析復用。
分層是將各架構元素通過分層重新構建的過程,各層之間要保持獨立設計和松耦合。
分層的思維方式可以使軟件架構具有如下優點:
開發人員可以只關注某一層。
可以很容易地用新的實現來替換原有層的實現。
可以降低層與層之間的依賴。
有利于標準化。
有利于各層邏輯的復用。
架構模式是一套成熟的、通用的、可重用的解決方案,在進行架構設計時,架構設計師要能夠根據業務需求來挑選最適合的架構模式。
架構模式一般有分層模式、客戶端-服務器模式、主從設備模式、管道-過濾器模式、代理模式、P2P模式、事件總線模式、MVC模式、黑板模式和解釋器模式等。
抽象包括兩個層面的內容:一個層面是將各種類似場景的實現歸納成一種規則或方法出來供以后的設計用;另一個層面是將非類似場景中的共性內容總結出來,進一步抽象為類似的東西。
結構化是一種注重結構完整性的思維方式,它強調在分析問題的過程中,要考慮整體性,不要馬上陷入細節。結構化思維的核心在于對問題進行正確界定的基礎上(以終為始),對問題的構成要素進行合理分類,并對其中的重點環節進行分析(要事第一)。
結構化應遵循以下原則:
以終為始。
知道設計的目標,根據目標倒推需要完成的工作和任務。
不要先入為主,避免陷入細節。
各架構元素相互獨立。
各架構元素無遺漏。
迭代的思維方式
沒有最好,只有更好。架構設計也要隨著業務需求的變化不斷迭代和演化。
這正是:
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。