軟體架構筆記(二)

2021-07-25 11:03:44 字數 912 閱讀 4362

1、松耦合(ioc控制反轉,依賴注入),緊耦合

緊耦合:元件之間直接依賴,當其中乙個元件發生變化時,直接影響其他元件,或者其他元件不能訪問 為緊耦合;不利於系統的維護;

松耦合:物件之間通過配置檔案進行反轉,注入。如物件a和物件b 通過配置檔案config.xml進行依賴,當物件a需要依賴乙個新物件c的時候,我們只需要更改配置檔案讓物件a和物件c進行依賴即可,物件之間的呼叫關係由配置檔案決定,而不是由程式決定。降低元件之間的依賴,達到松耦合的目的以利於系統的維護;

比如印表機配置檔案,根據使用者選擇不同的印表機驅動來列印檔案,而不是讓檔案直接繫結到乙個印表機上。也是乙個松耦合,依賴注入的體現;

2、aop:面向切面程式設計。將相同的2塊業務邏輯

邏輯塊1 : 前置部分1----主體部分1----後置部分1

邏輯塊2:  前置部分2----主體部分2----後置部分2

如果邏輯1的前置部分和邏輯2的前置部分都是用來記錄日誌,後置部分都是用了執行跳轉。我們可以使用aop--面向切面的思想,將邏輯1塊和邏輯2塊的  前置部分和後置部分單獨分離開。  分離開的前置和後置部分,將通過 aspect 配置檔案進行管理,當執行 主體部分1或主體部分2時,就先執行配置檔案 --》配置檔案將根據主體部分的不同執行不同的前置部分,主體部分執行完畢後,配置檔案將根據執行的主體不同,執行相對應的後置部分。將變成如下結構

主體部分1執行-----之前-----經過配置檔案----》執行前置部分1的邏輯;

主體部分1執行完畢----經過配置檔案----》執行後置部分1的邏輯;

主體部分2執行-----之前-----經過配置檔案----》執行前置部分2的邏輯;

主體部分2執行完畢----經過配置檔案----》執行後置部分2的邏輯。  讓開發者只關注 主體部分的邏輯實現;而不用考慮 前置和後置部分;

軟體架構實踐閱讀筆記二

1 質量屬性 系統從設計 實現到部署的整個過程中考慮質量屬性的實現。質量屬性包括下列三類 1 系統的質量屬性。可用性 可修改性 效能 安全性 可測試性和易用性 2 受架構影響的商業屬性。上市時間 成本和收益 所希望的系統生命期的長短 目標市場 推出計畫 與老系統的整合 3 與架構本身相關的一些質量屬...

軟體架構筆記

架構5要素 1 效能 cdn 伺服器本地快取 分布式快取 非同步操作 服務集群 多執行緒 索引 快取 sql優化 2 可用性 目標是當伺服器宕機的時候服務或者應用依然可用 冗餘 3 伸縮性 通過不斷向集群中增加伺服器的手段來緩解不斷上公升的使用者併發訪問壓力和不斷增長的資料儲存要求,主要目標是可以用...

架構筆記二

什麼是概念?首先概念的定義是 人類在 認識過程中,從 感性認識上公升到 理性認識,把所感知的事物的共同本質特點抽象出來,加以概括,是本我認知意識的一種表達,形成概念式思維慣性。在人類所認知的思維體系中最基本的構築單位。概念可以大眾公認的,也可以是個人認知特有的一部分。表達概念的語言形式是詞或片語。概...