什麼是架構
緣起一直以來,在軟體行業,對於什麼是架構,都有很多的爭論,每個人都有自己的理解。甚至於很多架構師一說架構,就開始談論什麼應用架構、硬體架構、資料架構等等。我曾經也到處尋找過架構的定義,請教過很多人,結果發現,沒有大家都認可的定義。套用一句關於 big data 流行的笑話,放在架構上也適用:
事實上,架構在軟體發明時的 n 多年以前,就已經存在了,這個詞最早是跟隨著建築出現的。所以,我覺得有必要從源頭開始,把架構這個概念先討論清楚,只有這樣,軟體行業架構的討論才有意義。
1.根據要解決的問題,對目標系統的邊界進行界定。
2.並對目標系統按某個原則的進行切分。切分的原則,要便於不同的角色,對切分出來的部分,並行或序列開展工作,一般並行才能減少時間。
3.並對這些切分出來的部分,設立溝通機制。
4.根據 3,使得這些部分之間能夠進行有機的聯絡,合併組裝成為乙個整體,完成目標系統的所有工作。
架構是為了解決的人的問題,找出問題的主體,是做架構的首要問題。要思考「是解決誰的問題」,先找到是「誰」,再去分析所需解決的問題。識別出問題後,對於確實有問題的部分要根據利益進行切分。切分的
架構漫談共分為了九篇,我認為他是先從架構的概念開始介紹,然後解釋了架構的作用即所解決的問題,最後是從架構的角度去理解,寫好**。
在第二篇文章中,作者以桌子為例,解釋了架構,說明了人們常進入的誤區,要做好架構所首先必須具備的能力,就是能夠正確的認識概念,能夠發現概念背後所代表的問題,進而才能夠認識目標領域所需要解決的問題,這樣才能夠為做好架構打好基礎。同時掌握好架構概念並應用與學習新知識的過程,可能就會效率更高,正確的解決問題。
在第三篇中,主要是告訴我們要正確的認識問題,因為作為一名軟體的開發人員。首先要解決的就是使用者的需求,但是更多的時候,使用者自己對想要的也描述不清楚,這就造成了使用者對產品不滿意。而我們能做到的最好的方法就是,找到問題的主體,找到主體之後便能準確的確定邊界問題,找到問題之後便可以很快的去解決。
我理解架構是複雜問題簡單化,簡單問題模式化,模式化就是切分
關於切分小結
1.架構的切分的導火索是人的負載太重。
2.架構的切分實際就是對 stakeholder(利益相關者) 的利益進行切分或合併,使得每個 stakeholder 的權責是對等的,每個 stakeholder 可以為自己的利益負責。
3.架構切分的最終結果都會體現在組織架構上,只有這樣才能夠讓架構落地並推進。
4.架構切分的結果一定是乙個樹狀,盡量扁平化。
讀《架構漫談》有感
上上週,在王老師的 威逼利誘 下,歷時兩周,總算是讀完了這九篇關於架構的部落格。雖然其中很多內容我還不是很理解,但是還是學到了很多,對於軟體工程以及架構的概念也有了更深的理解。首先就說說什麼是架構,用 架構漫談 中的原話來說,架構,就是 1.根據要解決的問題,對目標系統的邊界進行界定。2.並對目標系...
讀《架構漫談一》有感
架構漫談 一 什麼是架構?1.我的目的 我看架構漫談的目的是通過架構幫助我解決如何看懂一本書,如何看懂乙個概念並非是通過它來解決如何設計軟體架構 企業架構 架構等 這些問題,但通過看這篇文章也讓我得到了除了我的目的之外的一些知識,進一步擴張了我的思維方式,讓我從更抽象更高的層次去考慮如何解決自己不僅...
讀《架構漫談》系列有感
讀了這一系列博文,我對架構也有了大致的了解。在簡單的閱讀之後,我解決了幾個問題。第乙個問題,什麼是架構?要學習架構,首先要知道架構。那麼,什麼是架構呢?引用 架構漫談 一 裡的話就是把乙個整體切割成不同的部分,由不同的角色來完成這些分工,並通過建立不同部分相互溝通的機制,使得這些部分能夠有機的結合為...