<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    聊聊架構

    什么是系統架構?

    從字面上理解,系統架構是系統的框架結構,是系統進行抽象之后的一個草圖。它包含了系統中各個抽象組件的協作方式。


    為什么需要架構?

    好的架構能夠降低系統的創造和維護成本,特別是維護成本。一個系統的創造成本低,而維護的成本大,特別是互聯網應用,一般情況下把一個系統搞上線只需要一個月,但是有的系統搞下線缺需要幾個月,而維護則需要數年。好的設計師不會在系統上線后對系統進行大的修改,從而減少系統的維護成本。

    如果區分創造和維護兩個階段的話,架構師分為系統架構師和維護架構師,架構新的系統的是系統架構師,而維護老系統的則是維護架構師,程序員大多數愿意做新系統不愿意維護老系統,因為感覺沒什么技術含量,但是維護老的系統反而更難,因為老系統的重構和改進更加復雜,維護架構師不僅需要讀懂老系統架構設計,還要在不影響老系統功能的情況下,進行功能新增和重構。我的一位同事在對一個舊的系統進行重構之前,讀了幾個星期的代碼,然后才開始設計改進方案。

    架構設計的目標

    設計的目標圍繞著降低成本這個需求進行。設計的目標非常多,不同的系統架構目標也不一致,但是我覺得比較重要的架構目標有以下幾個,可擴展性,靈活性和可插入性。

    可擴展性,新的功能容易加入到系統里,降低創造成本。
    靈活性,一處修改不會波及其他的地方,降低維護成本。
    可插入性,同樣的功能可方便的替換,降低創造和維護成本。
    那么如何實現這三個目標

    提高可擴展性:把不易變的抽象出來。抽象層要比實現層要更穩定,抽象層的變化要少。把變化的集中起來,比如把容易變化的功能放在單獨一個系統或者一個模塊里。
    靈活性:模塊化,每個模塊相互獨立,減少模塊之間的藕合度,修改不會互相傳遞。
    提高可插入性:模塊化,服務化。
    如何開始架構

    當一塊新業務放在你面前時,如何進行系統架構?我覺得需要進行以下幾個步驟的思考:

    業務分析:輸出業務架構圖,這個系統里有多少個業務模塊,從前臺用戶到底層一共有多少層。
    系統劃分:根據業務架構圖輸出系統架構圖,需要思考的是這塊業務劃分成多少個系統,可能一個系統能支持多個業務。基于什么原則將一個系統拆分成多個系統?又基于什么原則將兩個系統合并成一個系統?
    系統分層:系統是幾層架構,基于什么原則將一個系統進行分層,分成多少層?
    模塊化:系統里有多少個模塊,哪些需要模塊化?基于什么原則將一類代碼變成一個模塊。

    posted on 2014-11-28 23:06 paulwong 閱讀(338) 評論(0)  編輯  收藏 所屬分類: SOFTWARE ARCHITECTURE

    主站蜘蛛池模板: 免费国产精品视频| 亚洲AV无码一区东京热| 你是我的城池营垒免费看| 久久精品国产亚洲av麻豆小说| 最近中文字幕无免费视频| 免费无码一区二区| 亚洲一区二区三区高清| 国产精品免费看久久久久| 97在线视频免费公开视频| 国产午夜亚洲精品国产| 亚洲乱码日产一区三区| 天天摸夜夜摸成人免费视频| 中文字幕一区二区免费| 亚洲一日韩欧美中文字幕在线| 亚洲线精品一区二区三区 | 婷婷亚洲综合五月天小说| 欧亚精品一区三区免费| 精品免费久久久久国产一区| 亚洲人成电影院在线观看| 久久亚洲2019中文字幕| 18禁超污无遮挡无码免费网站国产| jizz日本免费| 亚洲AV无码资源在线观看| 亚洲精选在线观看| 久久久久亚洲?V成人无码| 毛片基地免费观看| 无码免费一区二区三区免费播放| 男男黄GAY片免费网站WWW| 亚洲大香伊人蕉在人依线| 亚洲热妇无码AV在线播放| 免费v片在线观看品善网| 在线观看AV片永久免费| 99精品在线免费观看| 亚洲一级片免费看| 久久精品国产亚洲av天美18| 亚洲一区动漫卡通在线播放| 亚洲AV无码成人精品区天堂| 久久久无码精品亚洲日韩软件 | 91福利视频免费观看| 精品一区二区三区高清免费观看 | 国产福利在线免费|