項目模塊化記事

首先解決三個問題:

  1. 模塊粒度應該如何劃分?
  2. 如何分層?
  3. 多團隊如何協作?

顆粒度劃分

對於 iOS面向對象編程開發模式來說,我們應該遵循以下五個原則,即solid原則

  • 單一功能原則:對象功能要單一, 不要在一個對象裏添加很多功能
  • 開閉原則:擴展是開放的,修改是封閉的
  • 里氏替換原則:子類對象是可以替代基類對象的
  • 接口隔離原則:接口的用途要單一,不要在一個接口上根據不同的入參實現多個功能
  • 依賴反轉原則:方法應該依賴抽象,不要依賴實例。iOS開發就是高層業務方法依賴於協議。

分層

  • 底層可以是與業務無關的基礎組件,比如網絡、存儲等
  • 中間層一般是通用業務組件,比如賬號、埋點、支付、購物車等
  • 最上層是迭代業務組件,跟新頻率最高

組件化架構

一般分爲協議式和中間者兩種架構設計方案。

協議式架構設計主要採用的是協議式編程的思路:在編譯層面使用協議定義規範,實現可在不同地方,從而達到分佈管理和維護組件的目的。這種方式也遵循了依賴反轉原則,

缺點:1.缺少統一調度層,難於集中管理;2.定義模式過於規範,從而使得架構的靈活性不夠高。

中間者架構,採用中間者統一管理的方式,來控制App的整個生命週期中間件間的調用關係。同時,組件接口的設計也需要保持一致性,方便中間者統一調用。

解耦的精髓在於業務邏輯能夠獨立出來。所以,再考慮架構設計時,更多的還是需要在功能邏輯和組件劃分上做到同級解耦,上下層依賴清晰,這樣的結構才能使得上層組件易插拔,下層組件更穩固。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章