三層架構與 Embedded Framework 分層的切入點
2170 ワード
三層架構 (3-tier architecture) 是軟體工程中裡面很常見的分層方式,或者也可以說是最基本的架構方式之一。
在想要透過 Embedded Framework 來分割程式碼時,
由於常見的 Clean Architecture, Redux 等架構的層次和元素非常多、非常難著手,
因此三層架構的概念或許是還滿好的切入點。
碰到的問題
碰到以下這一類的問題,就需要透過調整架構改善程式碼的品質
- 不容易分開各個部分的邏輯,商用邏輯會混雜在各個 view 或是 view controller 裡
- 當專案規模需要擴張時,會因為不洽當的相依而導致分層或模組化的成本非常高
- 新增功能或是移除功能時消耗的成本高
- 因為有不當的相依而無法寫出合理的測試
三層架構是什麼
如其名,主要分三大部分:
層 | 說明 |
---|---|
Presentation Tier 表現層 |
提供使用者操作介面,用來顯示資料,以及接收使用者的互動或是輸入的資料,進而將這些資訊傳到商業邏輯層 |
Business Logic Tier 商業邏輯層 |
處理由表現層傳來的資料或是事件,以及從資料存取層獲取的資料。也可以說是表現層和資料存取層的中介層 |
Data Tier 資料存取層 |
根據商業邏輯層的需求,存取資料庫,或是外部資料 |
對應到 iOS 的專案
層 | 對應 |
---|---|
Presentation Tier 表現層 |
View , view controller 的部分職責 |
Business Logic Tier 商業邏輯層 |
View controller 的部分職責, 和一些 formatter、validator 等等 |
Data Tier 資料存取層 |
介接本地資料庫 Core Data, Realm 和介接 API 的部分 |
架構的概念
畫成架構圖,概念上就如下圖
範例程式碼
有空的話,再以另外的文章配上程式碼說明
以上, Happy coding!!
Author And Source
この問題について(三層架構與 Embedded Framework 分層的切入點), 我々は、より多くの情報をここで見つけました https://qiita.com/vc7/items/dae4625a373b4673f6ad著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .