一、想成為合格的架構師,你要知道軟體架構是個什麼概念,明白架構的定義:
1.軟體架構是一個系統的草圖。
2.軟體架構描述的物件是直接構成系統的抽像元件。 中(建議學習中:phpstorm)
#3.
4.在實作階段,這些抽像元件被精進為實際的元件,例如具體某個類別或物件。
5.在物件導向領域中,元件之間的連接通常用介面來實現。
二、架構師有細分,基本上可以分為三類:
#1. 系統架構師:伺服器負載,可靠性,伸縮,擴展,資料庫切分,快取應用等
2. 應用架構師:理解業務,梳理模型,設計模式,接口,資料互動等
3. 業務架構師:也可以叫業務領域專家、產業專家、產品顧問、資深顧問通常我們說的架構師是1和2的結合
分層架構(layered architecture)是最常見的軟體架構,也是事實上的標準架構。如果你不知道要用什麼架構,那就用它。
這種架構將軟體分成若干個水平層,每一層都有清晰的角色和分工,不需要知道其他層的細節。層與層之間透過介面通訊。
雖然沒有明確約定,軟體一定要分成多少層,但是四層的結構最常見。
表現層(presentation):使用者介面,負責視覺和使用者互動
業務層(business):實現業務邏輯
持久層(persistence):提供數據, SQL 語句就放在這一層
資料庫(database) :保存資料
有的軟體在邏輯層和持久層之間,加了一個服務層(service),提供不同業務邏輯需要的一些通用介面。
使用者的請求將依序通過這四層的處理,不能跳過其中任何一層。
優點
結構簡單,容易理解和開發
#不同技能的程式設計師可以分工,負責不同的層,天然適合大多數軟體公司的組織架構
每一層都可以獨立測試,其他層的介面透過模擬解決
#一旦環境變化,需要程式碼調整或增加功能時,通常比較麻煩和費時
部署比較麻煩,即使只修改一個小地方,往往需要整個軟體重新部署,不容易做持續發布
軟體升級時,可能需要整個服務暫停
擴充性差。當使用者請求大量增加時,必須依序擴展每一層,由於每一層內部是耦合的,擴展會很困難
以上是為什麼學習軟體架構的詳細內容。更多資訊請關注PHP中文網其他相關文章!