重慶潤雪科技有限公司(2008年至今),專注于網站建設、網站制作、網頁設計、小程序開發、公眾號開發、app開發的技術服務商。
每一步都修改到滿意后在付款,用價格、質量、服務說明一切。
日期:2021-08-06 10:01 瀏覽量:5723
在準備這份材料時,我們考慮了架構類型的各個方面,以確定每種架構類型的優缺點。接下來,我剖析了模塊化架構的替代方案,以增加討論的多樣性和深度。最后,我提出了總結性意見,以更好地理解我們的發現并提供相關建議。
IT 領域在開發移動應用程序的架構選擇上。已經從單體方法向微服務的轉變。然而,模塊化方法已成為具有四種底層類型的優越替代方案,即 MVC、MVP、MVVM 和 Viper 移動應用程序開發。
關于架構類型的決定通常取決于開發人員的個人經驗。在這里,我想闡明各種類型的架構之間的差異,特別是作為一種有前途的替代方案。
要考慮的架構的核心方面
架構為任何項目提供了強大的基礎,因為它會影響其進一步的開發潛力和可靠性。架構作為以下項目的初始基礎,確定其結構、可擴展性、維護效率和規模。已完成工作的可靠性和壽命決定了其質量和后續維護效率。單體式方法是最初的架構形式。本質上,這樣的系統只有一個部署單元,這意味著更高的依賴性和復雜性。
通過將單個復雜流程分解為更小的組件,微服務成為一種自然的反應。然而,隨著時間的推移,很明顯,維護微服務方法成本高昂并且需要過多的資源。此時,模塊化架構通過成為單體方法和微服務之間的過渡階段而進入框架。
移動應用程序開發繼續存在于一個沒有明確指導或通用規則的領域。這種狀況的形成部分是因為每個特定項目的獨特需求和要求。因此,在為 iOS 和 Android 開發應用程序時考慮特定因素至關重要:
項目類型
操作系統
SDK 和工具集
云技術
數據庫和服務器基礎設施
數據格式化
擴展計劃
第三方服務
導航的復雜性
用戶界面/用戶體驗
內容
預算和時間限制
團隊技能水平
優質應用架構的特征
可以列出開發良好的應用程序架構的幾個特定品質,包括:
可靠性——定義顯示代碼部分相互交互的特征,消除應用程序中的不穩定性和不一致。
可擴展性——架構的靈活性反映了其增長和調整的潛力。計劃更改和新功能以及以新操作系統和庫的形式進行改進是很自然的。
關注點分離——實體應該在代碼中保持分離,以確保它們的重復使用、易于調試,以及在不影響系統中其他組件的情況下隔離頻繁更改的組件。
可測試性——架構應該支持單獨測試用例和功能,以避免運行時出現任何阻止長時間修復的問題。此外,QA 將獲得單獨測試功能和編寫測試用例的能力。
維護效率——通過防止超支和過度的資源分配來優化成本。
易于使用- 有助于在編寫和閱讀方面簡化代碼。
關鍵的模塊化架構類型
MVC、MVP、MVVM 和 Viper 是主要的移動應用程序開發類型,具有單獨的特定使用變化子樹??梢赃x擇單一類型或兩種或多種的混合。在做出選擇之前,重要的是在細節和特定應用案例方面對它們進行比較。
一、MVC
第一種類型是移動應用程序開發中最常用的 MVC 或模型-視圖-控制器排名。
MVC 支持創建具有簡單內容、全面導航邏輯、統一用戶體驗以及標準化 UI 設計的基本跨平臺應用程序。任務實現通常遵循從加載到顯示的模式,中間沒有額外的步驟或階段。
使用 MVC 的原因通常包括需要加速開發過程和/或提供直接的簡單流程。它在創建普通客戶端/服務器應用程序和處理簡單數據方面也是可行的。MVC 在獲取未格式化的數據結果、創建對 SEO 友好的平臺以及管理屏幕上的單向指令流時非常有效。
二、MVVM
MVVM 或模型-視圖-視圖-模型根據其具體情況和應用程序能力在其使用頻率上排名第二。
將 UI 邏輯與業務邏輯分離的可能性是 MVVM 與 MVC 之間的主要區別。這種改變允許實現更復雜的功能任務,并為用戶與移動應用程序提供額外的動作和交互選擇。由于測試的業務邏輯與 UI 合并分離,自動測試可用于實施。
開發人員通常將 MVVM 用于更高復雜性的應用程序,該應用程序具有更通用的模式特性。因此,MVVM 對于希望在短期內擴展功能的小型項目特別有效。
三、MVP
第三種模塊化架構是與 MVC 類型并行使用的 MVP 或模型-視圖-展示器。
數據顯示和用戶與應用程序交互的差異決定了 MVVM 和 MVP 之間的選擇。模型和視圖是 MVP 類型唯一可用的測試工具。
如果應用程序內的 UI 組件集有限且導航流簡單,則開發人員會使用 MVP。
四、Viper
VIPER 或 View、Interactor、Presenter、Entity 和 Router 模型是一種模塊化架構或用于實施長期項目的模式。在這種架構上開發應用程序的過程需要更長的啟動時間,因為它偏向于純粹的單體類型。
VIPER 支持干凈的代碼想法。它需要對編程領域有深入的了解和理解。這種架構模式提供了良好的測試覆蓋率、新功能實現的隔離以及責任區域的依賴性。具有此架構的項目需要 2 個或更多開發人員來構建跨平臺移動應用程序。
具有特定技術要求的長期項目受益于使用 Viper。
模塊化架構的好處
模塊化架構提供了幾個基本原則,這些原則可以轉化為開發人員的利益:
強封裝——通過隱藏組件內的實現細節來確保不同部分之間的低耦合。該團隊獲得了在分離的系統部件上單獨工作的能力。
顯式依賴——提供不同組件的強大表達和驗證,允許它們一起工作。
定義良好的接口– 組件之間穩定且定義良好的 API,可以用實現替換組件
總結:
模塊化架構提供了一系列用于開發移動應用程序的工具。四種討論的模塊化架構類型,即 MVC、MVVM、MVP 和 Viper,都具有適合各自情況的細節和應用。較小的項目受益于 MVC 替代方案,因為它提供了簡單的內容、UI 和導航。MVVM 和 MVP 更適合大型項目。兩者之間的區別源于數據顯示和 UI 上的負載。
Viper 適用于性質較長的大型項目以及需要開發自定義應用程序的項目。模塊化架構通過利用整體方法作為基礎提供微服務的強大替代方案,但隔離部分以確保獨立性和靈活性。
開發人員在對每個項目進行單獨分析后,根據具體情況做出架構選擇。這樣的選擇依賴于每個架構類型和子類型的特性。對項目的清晰理解以及將其投射到開發過程中的能力決定了架構的類型。