[發明專利]函數調用方法、裝置、電子設備及存儲介質在審
| 申請號: | 201811442323.0 | 申請日: | 2018-11-29 |
| 公開(公告)號: | CN111240850A | 公開(公告)日: | 2020-06-05 |
| 發明(設計)人: | 戴旭 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 北京律智知識產權代理有限公司 11438 | 代理人: | 袁禮君;闞梓瑄 |
| 地址: | 100086 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 函數 調用 方法 裝置 電子設備 存儲 介質 | ||
本發明的實施例提供了一種函數調用方法、裝置、電子設備以及存儲介質,涉及計算機技術領域。該方法包括:在通過類對象執行目標方法時,判斷所述類對象是否實現了所述目標方法;若判定所述類對象未實現所述目標方法,則通過所述類對象的消息轉發方法轉發所述目標方法的調用信息,以確定實現了所述目標方法的目標類對象;調用所述目標類對象中的所述目標方法,其中,所述類對象的基類實現了所述消息轉發方法。本發明實施例的技術方案能夠在實現跨層級調用的同時減少模塊之間的相互引用,降低模塊之間的耦合程度,降低業務邏輯的復雜性,從而能夠減少后期維護成本。
技術領域
本發明涉及計算機技術領域,具體而言,涉及一種函數調用方法、函數調用裝置、電子設備以及計算機可讀存儲介質。
背景技術
在現代化的編程開發中,經常使用設計模式提高代碼的可重用性、易理解性以及可靠性。
以移動客戶端的開發為例,現有的移動客戶端架構最常規的是MVC架構即M:模型model、V:視圖View;C:控制器Controller層。如圖1所示,該移動客戶端的視圖結構為一個樹狀結構,位于最底層的是一個根視圖,根視圖可以有多個子視圖,即一個頁面由許多的視圖通過組合排列等方式構成。
如果視圖的層級結構比較深,在該移動客戶端視圖結構的不同層級之間進行跨級通信時,要使用中間的層級進行中轉,需要在模塊之間插入一大堆僅僅為了中轉的代碼,導致模塊之間相互引用,耦合嚴重,業務邏輯越來越復雜,導致后期維護成本非常高。
需要說明的是,在上述背景技術部分公開的信息僅用于加強對本發明背景的理解,因此可以包括不構成對本領域普通技術人員已知的現有技術的信息。
發明內容
本發明實施例的目的在于提供一種函數調用方法、函數調用裝置、電子設備以及計算機可讀存儲介質,進而至少在一定程度上克服由于相關技術的限制和缺陷而導致的一個或者多個問題。
根據本發明實施例的第一方面,提供了一種函數調用方法,包括:在通過類對象執行目標方法時,判斷所述類對象是否實現了所述目標方法;若判定所述類對象未實現所述目標方法,則通過所述類對象的消息轉發方法轉發所述目標方法的調用信息,以確定實現了所述目標方法的目標類對象;調用所述目標類對象中的所述目標方法,其中,所述類對象的基類實現了所述消息轉發方法。
在本發明的一些示例性實施例中,基于前述方案,所述函數調用方法還包括:向所述類對象的基類添加標記屬性,所述標記屬性用于標記所述類對象是否向外提供對應的函數調用。
在本發明的一些示例性實施例中,基于前述方案,調用所述目標類對象中的所述目標方法,包括:獲取所述目標類對象的所述標記屬性;判斷所述標記屬性中是否存在所述目標方法的標記;若判定所述標記屬性中存在所述目標方法的標記,則調用所述目標方法;若判定所述標記屬性中不存在所述目標方法的標記,則通過所述目標類對象的消息轉發方法繼續轉發所述目標方法的調用信息。
在本發明的一些示例性實施例中,基于前述方案,所述標記屬性為標記數組,所述函數調用方法還包括:將所述目標方法的標記添加到所述目標類對象的所述標記數組中。
在本發明的一些示例性實施例中,基于前述方案,通過所述類對象的消息轉發方法轉發所述目標方法的調用信息,以確定實現了所述目標方法的目標類對象,包括:通過所述類對象的消息轉發方法將所述目標方法的調用信息轉發至下一類對象,并判斷所述下一類對象是否實現了所述目標方法;若判定所述下一類對象未實現所述目標方法,則通過所述下一類對象的消息轉發方法繼續轉發所述目標方法的調用信息,直到轉發至實現了所述目標方法的目標類對象為止。
在本發明的一些示例性實施例中,基于前述方案,所述函數調用方法還包括:為所述類對象的基類增加自動代理屬性;通過所述目標類對象的所述自動代理屬性調用所述目標類對象中的所述目標方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811442323.0/2.html,轉載請聲明來源鉆瓜專利網。





