Angular應用架構設計-5:設計原則與總結
這是有關Angular應用架構設計系列文章中的一篇,在這個系列當中,我會結合這近兩年中對Angular、Ionic、甚至Vuejs等框架的使用經驗,總結在應用設計和開發過程中遇到的問題、和總結的經驗,來說一下Angular應用的架構設計相關的一些問題,包括像元件設計、元件之間的資料互動與通訊、Ngrx Store的使用、Rxjs的使用與響應式程式設計思想。這些設計思想和方法,不僅適用於Angular,也適用於Vuejs、React等前端框架。當然,應用架構設計沒有一個放之四海皆準的標準,他只能是根據具體情況具體分析。如果大家有更好的想法,歡迎交流。
- Angular應用架構設計-5:設計原則
最後在總結一下架構設計的原則。
低耦合可維護的元件
在之前的文章中,我們多次提到解耦、低耦合、減少依賴。
如果兩個元件直接的依賴太多,有太多的相互呼叫、相互取值,那麼當我的一個元件修改的時候,其他的元件也要做相應的修改。
層與層之間的依賴更加重要,如展示層和控制層,我們在展示層顯示資料,在控制層處理業務、讀寫資料等。我們開發一個應用,也別是一個長期維護的產品時,業務邏輯肯定經常修改,相應的展示方式也會修改。如果我們能把展示層和控制層的隔離控制的很好,控制層只把需要展示的資料暴露出來,給頁面需要相應的事件提供相應的介面,其他所有的控制、判斷、處理都隱藏在內部。就會減少很多由於一點業務邏輯的修改而導致的Service和元件裡的大量修改。
可測試的程式碼結構
控制層和展示層的隔離,還還來一個好處就是控制層程式碼的可測試性。一個Service類,就是一個簡單的物件,我們可以很方便的用Angular提供的方式建立,並透過設定測試資料狀態、呼叫業務方法、檢查結果狀態,來測試我們的邏輯。如果我們的Service類能夠很好地測試,那麼剩下的就只是把資料繫結到模板上。如果我們在展示層寫了很多邏輯、判斷等,那麼就勢必要針對元件進行測試,要對顯示到頁面上的資料進行判斷,這就需要使用phantomJs之類的記憶體瀏覽器執行,結果的驗證也比較麻煩。
除了分層的軟體架構設計,我們還需要在實現控制層程式碼的時候,透過使用一些設計模式,合理的程式碼結構,讓我們的程式碼可測試。有關設計模式和程式碼結構的原則,很多時候可以參考物件導向的設計原則。其中一個很重要的原則就是,一個方法就做一件事情,然後再透過適當的設計模式將這些方法組合起來。我們測試的時候,首先測試這些一個個方法的正確性,然後再測試把這些方法串起來的流程的正確性。這樣就能保證整個業務的正確性。
最後,再說一下優秀程式設計師跟三流二手程式設計師的區別,優秀的程式設計師先設計再編碼,二手程式設計師是先編碼再改bug。
歡迎關注課程
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4822/viewspace-2818859/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 設計原則總結
- SOLID架構設計原則Solid架構
- Angular應用架構設計-2:Data Service模式Angular應用架構模式
- 雲原生架構及設計原則架構
- SaaS架構:應用服務、應用結構設計架構
- 架構整潔之道二(設計原則)架構
- 設計微服務架構前應該瞭解的 5 項指導原則微服務架構
- [分散式]架構設計原則--高併發分散式架構
- 簡單介紹架構設計的原則!架構
- 應用架構圖的設計應用架構
- 【架構設計】你真的理解軟體設計中的SOLID原則嗎?架構Solid
- 架構設計的五大原則-SOLID架構Solid
- 360°透視:雲原生架構及設計原則架構
- 設計原則 設計模式設計模式
- 【設計模式】設計原則設計模式
- 設計模式 - 設計原則設計模式
- 大型系統應用邊界設計原則與實踐
- 設計和架構:業務開發指導原則架構
- 【虹科乾貨】設計微服務架構的原則微服務架構
- 架構設計要按照什麼原則進行呢?架構
- 初入探秘:大型網站架構設計與方法總結網站架構
- 軟體設計原則—合成複用原則
- 設計原則
- 架構師必備:HBase行鍵設計與應用架構
- 【架構設計】保持簡單輕量設計的三個原則——DRY,KISS, YAGNI架構
- 設計模式的設計原則設計模式
- 雲端計算架構設計6大原則遵循了哪些?架構
- 架構師進階,微服務設計與治理的16條常用原則架構微服務
- 論軟體架構設計及應用架構
- 架構設計中的基本原則架構
- 一文搞懂SaaS應用架構:應用服務、應用結構、應用互動設計應用架構
- 淺談限流元件的應用和設計原則元件
- [開發故事]架構師修煉 III - 掌握設計原則架構
- 掌握4C原則,設計高效的系統架構架構
- 借降本增效之名,探索開閉原則架構設計架構
- Apache 的架構師們遵循的 30 條設計原則Apache架構
- 微服務與領域驅動設計,架構實踐總結微服務架構
- .NET 雲原生架構師訓練營(設計原則&&設計模式)--學習筆記架構設計模式筆記