細數軟件架構中的解耦

{"type":"doc","content":[{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"架構的定義"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"架構是軟件方法學的範疇,它解決的是軟件組織的問題,不解決軟件算法的問題。兩者的區別可用下圖的積"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"木做個類比:"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/c1\/05\/c1f432f28bc32593e92061d174153d05.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"算法就像一個個的積木塊,比如綠色的圓柱,藍色的三角,紅色的方塊等。而架構則是把各種積木塊,組裝"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"成一個城堡,一輛小火車。爲搭建這個城堡或小火車,架構師腦子裏得有張圖紙,圖紙裏既要定義需要哪些"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"形形色色的積木塊,又要考慮如何將它們組裝起來。這工作很像建築師,英文也的確叫architect。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這樣類比,很容易讓不太理解技術的企業家們陷入誤區,會覺得架構師要比算法工程師更厲害?其實不然,"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這是兩個細分領域的才能。不知道您注意到小火車車頭上的煙囪沒?它是一個像雞腿菇一樣的弧線造型,澆"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"灌出這種造型的模子,要比三角形和方塊形要難很多,它需要更深奧的幾何學的支撐,這可以形象的看做是"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"算法工程師解決的問題。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"架構的意義"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"架構解決軟件組織的問題,它能給企業創造什麼價值?換句話說,好的軟件組織,跟差的軟件組織,從商業"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"價值創造的角度,有什麼不同?筆者以爲架構的價值體現在"},{"type":"text","marks":[{"type":"strong"}],"text":"可用性和敏捷性"},{"type":"text","text":"兩個角度,但今天要講的是敏捷"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"性。"},{"type":"text","marks":[{"type":"strong"}],"text":"敏捷性指的是快速、低成本、高質量地應對擴張市場的差異化需求。"},{"type":"text","text":"企業在初創期積累了不少軟件資"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章