日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件架构是什么

發布時間:2024/1/1 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件架构是什么 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

軟件架構是什么

概述

本文從不同角度闡述什么是軟件架構,軟件架構在做什么,在進行軟件架構設計時需要考慮哪些方面。

基本概念

  • 軟件系統的架構就是有它的構建者所決定的,軟件架構這項工作的實質就是:如何將系統切分成組件,并安排好組件之間的排列關系,以及組件之間的相互通信的方式。
  • 而設計軟件架構的目的就是:為了在工作中更好的對這些組件進行研發、部署、運行及其維護。
  • 設計良好的架構:可以讓系統更容易理解、易于修改、方便維護、并能輕松部署。
  • 軟件架構的終極目標:最大化程序員的生產力,同時最小化系統的總運維成本。
  • 開發

  • 一個開發起來很困難的軟件系統,不太可能有一個長久的長久、健康的生命周期。
  • 系統架構設計的作用,就是方便其團隊對它進行開發。
  • 運行

  • 設計良好的系統架構應該可以使開發人員對系統的運行一目了然。
  • 架構應該起到揭示系統運行過程的作用。
  • 系統架構應該將系統中的用例,功能,以及必備行為,設置為對開發者可見的一級實體,簡化他們對系統的理解。這將會對系統的開發與維護,提供極大的幫助。
  • 部署

  • 在設計的早期就要考慮到部署問題,
  • 為了讓開發成為有效的工作,軟件系統就必須是可部署的。
  • 通常一個系統的部署成本越高,可用性就越低。所以,實現一鍵輕松部署應該是設計軟件架構的一個目標。
  • 維護

  • 在軟件系統所有方面中,維護所需要的成本是最高的。需求的變更,新功能的添加,以及系統缺陷這些工作將會占去大部分人力資源。

  • 系統維護的主要成本,包括兩個方面:

    • 新增功能:確定新增功能或修復問題的最佳位置。
    • 風險成本:在進行系統代碼修改時,可能衍生出新的問題。
  • 通過優良的架構設計,可以減少維護成本:

    • 將系統切分成各個組件(模塊)。
    • 使用穩定的接口把各個組件之間進行隔離。這樣讓各個組件之間保持正交性,各個組件之間解耦。
    • 將未來需要添加新功能的添加方式明確出來,可以大大降低對系統其他部分造成的傷害的可能性。
  • 如何提前考慮新功能的添加方式?

    • 比如支持數據庫:可以編寫數據服務層,并設計成接口;當需要支持新的數據庫時,只需要按新的數據庫的驅動實現接口,其他模塊或業務上層代碼保持不變。
  • 保持可選項:

    • 讓軟件盡可能長時間地保留盡可能多的可選項。
    • 所有的軟件系統,可以分解為:策略和細節;策略:軟件中的業務核心,它是系統真正價值所在;細節:是指操作該系統的人,其他系統與策略進行交互,但又不影響策略本身的行為。
    • 軟件架構師的目標:創建一種系統形態,以策略為基本元素,并讓細節與策略脫離關系,允許在具體決策過程中,推遲或延遲與細節相關的內容。
    • 比如:在開發早期,開發高層策略時,應該無須選擇數據庫系統,不用確定使用的web服務,不用確定是否使用REST接口。就是說:軟件的高層,與這些東西沒有關系。
  • 設備無關:

    • 不同硬件上都能直接部署,而且得到的結果是相同的。
    • 這個原則,對軟件開發和部署非常重要。
  • 參考書籍

    • 《架構整潔之道》

    總結

    以上是生活随笔為你收集整理的软件架构是什么的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。