[發明專利]一種iOS端響應式開發框架的搭建方法在審
| 申請號: | 202010002721.1 | 申請日: | 2020-01-02 |
| 公開(公告)號: | CN111176632A | 公開(公告)日: | 2020-05-19 |
| 發明(設計)人: | 單文政 | 申請(專利權)人: | 山東浪潮通軟信息科技有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 郗艷榮 |
| 地址: | 250100 山東省*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 ios 響應 開發 框架 搭建 方法 | ||
1.一種iOS端響應式開發框架的搭建方法,其特征在于,包括以下步驟:
第一步,創建IIRXCore核心類,即基礎的類對象定義
通過使用雙向鏈表數據結構來替換原本雙向通知的方式,構建基本的數據對象與結構;所述基礎的類對象定義包括觀察者,被觀察者和發布者;
第二步,創建IIRXComponent組合組件
定義Combine,Zip和Merge類關鍵字;通過Combine、Zip和Merge三個關鍵字可以將原本多項被觀察者者合并為一個被觀察者;
第三步,創建IIRXComponent過濾與變換組件
定義Filter,Skip,Map,FlatMap和GroupBy類關鍵字,通過此類關鍵字可以將事件流中的事件進行過濾、迭代處理、壓縮迭代處理。
2.根據權利要求1所述的iOS端響應式開發框架的搭建方法,其特征在于:所述被觀察者是一個作為事件鏈的源的鏈表節點對象,可以將事件發送給觀察者;且被觀察者可以被一個或者多個觀察者監聽,它維護一個觀察者清單,當被觀察者有新的數據源時,遍歷觀察者清單,發送事件給每一個觀察者。
3.根據權利要求1所述的iOS端響應式開發框架的搭建方法,其特征在于:所述觀察者是一個作為事件鏈的接受方的鏈表節點對象,用于接收被觀察者發送的事件;同時觀察者需要維護一個父節點,也就是觀察者需要監聽的事件的發送方;在當前節點銷毀時,觀察者需要解除與被觀察者的引用關系。
4.根據權利要求1所述的iOS端響應式開發框架的搭建方法,其特征在于:所述發布者是雙向鏈表的中間節點,既可以作為觀察者也可以被看做被觀察者;發布者作為一個觀察者,維護了一個父節點信息,用來接收事件;同時作為一個被觀察者,發布者維護了一個觀察者清單,當發布者接收到信息時,遍歷清單發送事件給每一個觀察者。
5.根據權利要求1所述的iOS端響應式開發框架的搭建方法,其特征在于:所述關鍵字Merge、Zip和Combine可以將多個被觀察者的事件流合并為一個事件流發出;同時單獨創建一種發布者節點類型,該類型節點維護了一個被觀察者清單,當任意的父節點發出了事件信息,該類型節點都會按照特定規則將事件信息信號發送給下一個節點。
6.根據權利要求1所述的iOS端響應式開發框架的搭建方法,其特征在于:所述第三步中,通過過濾將不需要的事件源分離;通過迭代遍歷每一個事件進行特殊操作;通過壓縮迭代處理將事件源為數據流格式的壓縮為單個數據源信息。
7.根據權利要求1所述的iOS端響應式開發框架的搭建方法,其特征在于:所述關鍵字Filter通過設定過濾塊來實現,入參為原始事件,返回一個自定義類型的函數體;所述關鍵字Map與關鍵字Filter類似,定義一個塊,按照一定規則將事件入參傳出。
8.根據權利要求1所述的iOS端響應式開發框架的搭建方法,其特征在于:所述關鍵字Skip用于跳過源序列的前N個事件。
9.根據權利要求1所述的iOS端響應式開發框架的搭建方法,其特征在于:所述關鍵字GroupBy按照規則將事件進行分組操作。
10.根據權利要求1所述的iOS端響應式開發框架的搭建方法,其特征在于:當關鍵字Map對事件對象進行升維操作,傳出的是以數據流為事件的源時,所述關鍵字FlatMap將這種數據流對象壓縮為簡單的一維事件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東浪潮通軟信息科技有限公司,未經山東浪潮通軟信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010002721.1/1.html,轉載請聲明來源鉆瓜專利網。





