本申請涉及計算機,具體而言,涉及一種信息調(diào)用方法、裝置、計算機程序產(chǎn)品以及電子設(shè)備。
背景技術(shù):
1、面向?qū)ο缶幊套鳛楝F(xiàn)代軟件開發(fā)的核心范式之一,通過封裝、繼承和多態(tài)等特性極大地提高了代碼的可重用性、可維護性和可擴展性。其中,鏈?zhǔn)秸{(diào)用作為面向?qū)ο缶幊滩僮鞯囊环N高級實現(xiàn)方式,以其簡潔、流暢的編碼風(fēng)格,在提升代碼可讀性和減少冗余代碼方面展現(xiàn)出巨大優(yōu)勢。
2、然而,傳統(tǒng)的鏈?zhǔn)秸{(diào)用方法受限于靜態(tài)定義,即方法調(diào)用和參數(shù)傳遞在編寫時即已確定,缺乏靈活性。這種靜態(tài)編排的方式難以適應(yīng)復(fù)雜多變的業(yè)務(wù)場景,特別是在需要根據(jù)運行時條件動態(tài)調(diào)整調(diào)用鏈或方法參數(shù)時,由于調(diào)用方法已被定義,導(dǎo)致無法對調(diào)用方法或者調(diào)用參數(shù)進行修改,從而無法執(zhí)行對應(yīng)的調(diào)用操作。
3、針對相關(guān)技術(shù)中由于預(yù)設(shè)調(diào)用方法和參數(shù)已被定義,導(dǎo)致無法根據(jù)運時條件對預(yù)設(shè)調(diào)用方法和參數(shù)進行動態(tài)調(diào)整的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)思路
1、本申請?zhí)峁┮环N信息調(diào)用方法、裝置、計算機程序產(chǎn)品以及電子設(shè)備,以解決相關(guān)技術(shù)中由于預(yù)設(shè)調(diào)用方法和參數(shù)已被定義,導(dǎo)致無法根據(jù)運時條件對預(yù)設(shè)調(diào)用方法和參數(shù)進行動態(tài)調(diào)整的問題。
2、根據(jù)本申請的一個方面,提供了一種信息調(diào)用方法。該方法包括:攔截初始類實例發(fā)送的調(diào)用請求,并解析調(diào)用請求,得到目標(biāo)調(diào)用特征;判斷在目標(biāo)類實例中是否存儲有目標(biāo)調(diào)用特征所對應(yīng)的目標(biāo)調(diào)用內(nèi)容,其中,目標(biāo)類實例中存儲有多個待調(diào)用內(nèi)容,目標(biāo)類實例與初始類實例通過代理實例進行關(guān)聯(lián);在目標(biāo)類實例中存儲有目標(biāo)調(diào)用內(nèi)容的情況下,將目標(biāo)調(diào)用內(nèi)容返回至初始類實例;在目標(biāo)類實例中未存儲有目標(biāo)調(diào)用內(nèi)容的情況下,通過預(yù)設(shè)函數(shù)和目標(biāo)調(diào)用特征生成目標(biāo)調(diào)用函數(shù),并將目標(biāo)調(diào)用函數(shù)發(fā)送至初始類實例,其中,目標(biāo)調(diào)用函數(shù)用于獲取目標(biāo)調(diào)用內(nèi)容。
3、可選地,在判斷在目標(biāo)類實例中是否存儲有目標(biāo)調(diào)用特征所對應(yīng)的目標(biāo)調(diào)用內(nèi)容之前,該方法還包括:判斷初始類實例中是否存儲有目標(biāo)調(diào)用內(nèi)容;在初始類實例中存儲有目標(biāo)調(diào)用內(nèi)容的情況下,將調(diào)用請求發(fā)送至初始類實例;在初始類實例中未存儲有目標(biāo)調(diào)用內(nèi)容的情況下,執(zhí)行判斷在目標(biāo)類實例中是否存儲有目標(biāo)調(diào)用特征所對應(yīng)的目標(biāo)調(diào)用內(nèi)容的步驟。
4、可選地,判斷在目標(biāo)類實例中是否存儲有目標(biāo)調(diào)用特征所對應(yīng)的目標(biāo)調(diào)用內(nèi)容包括:訪問目標(biāo)類實例的存儲區(qū)域,其中,存儲區(qū)域用于存儲數(shù)據(jù)內(nèi)容,數(shù)據(jù)內(nèi)容至少包括以下之一:屬性數(shù)據(jù)、方法數(shù)據(jù)、操作數(shù)據(jù);在存儲區(qū)域中搜索與目標(biāo)調(diào)用特征相關(guān)的特征信息;在存儲區(qū)域中查詢到與目標(biāo)調(diào)用特征相關(guān)的特征信息的情況下,確定目標(biāo)類實例中存儲有目標(biāo)調(diào)用內(nèi)容;在存儲區(qū)域中查詢不到與目標(biāo)調(diào)用特征相關(guān)的特征信息的情況下,確定目標(biāo)類實例中未存儲有目標(biāo)調(diào)用內(nèi)容。
5、可選地,通過預(yù)設(shè)函數(shù)和目標(biāo)調(diào)用特征生成目標(biāo)調(diào)用函數(shù),并將目標(biāo)調(diào)用函數(shù)發(fā)送至初始類實例包括:從運維端獲取目標(biāo)調(diào)用特征對應(yīng)的特征值;在獲取到特征值的情況下,將特征值添加至預(yù)設(shè)函數(shù)中,得到目標(biāo)調(diào)用函數(shù),并將目標(biāo)調(diào)用函數(shù)發(fā)送至初始類實例,其中,初始類實例在接收到目標(biāo)調(diào)用函數(shù)之后,執(zhí)行目標(biāo)調(diào)用函數(shù),得到特征值,并將特征值確定為目標(biāo)調(diào)用內(nèi)容。
6、可選地,通過預(yù)設(shè)函數(shù)和目標(biāo)調(diào)用特征生成目標(biāo)調(diào)用函數(shù),并將目標(biāo)調(diào)用函數(shù)發(fā)送至初始類實例包括:從運維端獲取目標(biāo)調(diào)用特征對應(yīng)的特征值;在未獲取到特征值的情況下,根據(jù)目標(biāo)調(diào)用特征在函數(shù)庫中確定目標(biāo)調(diào)用函數(shù),并將目標(biāo)調(diào)用函數(shù)發(fā)送至初始類實例,其中,初始類實例在接收到目標(biāo)調(diào)用函數(shù)之后,執(zhí)行目標(biāo)調(diào)用函數(shù)中攜帶的預(yù)設(shè)操作,得到目標(biāo)調(diào)用內(nèi)容,函數(shù)庫中包括多個初始函數(shù)。
7、可選地,在判斷在目標(biāo)類實例中是否存儲有目標(biāo)調(diào)用特征所對應(yīng)的目標(biāo)調(diào)用內(nèi)容之前,該方法還包括:獲取多個待調(diào)用內(nèi)容,并將多個待調(diào)用內(nèi)容存儲至目標(biāo)類實例中;為目標(biāo)類實例設(shè)置代理實例,其中,代理實例用于接收向目標(biāo)類實例發(fā)送的調(diào)用請求。
8、可選地,在通過預(yù)設(shè)函數(shù)和目標(biāo)調(diào)用特征生成目標(biāo)調(diào)用函數(shù)之后,該方法還包括:將特征值存儲至目標(biāo)類實例中。
9、根據(jù)本申請的另一方面,提供了一種信息調(diào)用裝置。該裝置包括:解析單元,用于攔截初始類實例發(fā)送的調(diào)用請求,并解析調(diào)用請求,得到目標(biāo)調(diào)用特征;第一判斷單元,用于判斷在目標(biāo)類實例中是否存儲有目標(biāo)調(diào)用特征所對應(yīng)的目標(biāo)調(diào)用內(nèi)容,其中,目標(biāo)類實例中存儲有多個待調(diào)用內(nèi)容,目標(biāo)類實例與初始類實例通過代理實例進行關(guān)聯(lián);返回單元,用于在目標(biāo)類實例中存儲有目標(biāo)調(diào)用內(nèi)容的情況下,將目標(biāo)調(diào)用內(nèi)容返回至初始類實例;生成單元,用于在目標(biāo)類實例中未存儲有目標(biāo)調(diào)用內(nèi)容的情況下,通過預(yù)設(shè)函數(shù)和目標(biāo)調(diào)用特征生成目標(biāo)調(diào)用函數(shù),并將目標(biāo)調(diào)用函數(shù)發(fā)送至初始類實例,其中,目標(biāo)調(diào)用函數(shù)用于獲取目標(biāo)調(diào)用內(nèi)容。
10、根據(jù)本發(fā)明的另一方面,還提供了一種計算機程序產(chǎn)品,包括計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)本申請中的一種信息調(diào)用方法。
11、根據(jù)本發(fā)明的另一方面,還提供了一種電子設(shè)備,包含一個或多個處理器和存儲器;存儲器中存儲有計算機可讀指令,處理器用于運行計算機可讀指令,其中,計算機可讀指令運行時執(zhí)行一種信息調(diào)用方法。
12、通過本申請,采用以下步驟:攔截初始類實例發(fā)送的調(diào)用請求,并解析調(diào)用請求,得到目標(biāo)調(diào)用特征;判斷在目標(biāo)類實例中是否存儲有目標(biāo)調(diào)用特征所對應(yīng)的目標(biāo)調(diào)用內(nèi)容,其中,目標(biāo)類實例中存儲有多個待調(diào)用內(nèi)容,目標(biāo)類實例與初始類實例通過代理實例進行關(guān)聯(lián);在目標(biāo)類實例中存儲有目標(biāo)調(diào)用內(nèi)容的情況下,將目標(biāo)調(diào)用內(nèi)容返回至初始類實例;在目標(biāo)類實例中未存儲有目標(biāo)調(diào)用內(nèi)容的情況下,通過預(yù)設(shè)函數(shù)和目標(biāo)調(diào)用特征生成目標(biāo)調(diào)用函數(shù),并將目標(biāo)調(diào)用函數(shù)發(fā)送至初始類實例,其中,目標(biāo)調(diào)用函數(shù)用于獲取目標(biāo)調(diào)用內(nèi)容。解決了相關(guān)技術(shù)中由于預(yù)設(shè)調(diào)用方法和參數(shù)已被定義,導(dǎo)致無法根據(jù)運時條件對預(yù)設(shè)調(diào)用方法和參數(shù)進行動態(tài)調(diào)整的問題。采用代理實例將初始類實例與目標(biāo)類實例進行關(guān)聯(lián),使得目標(biāo)類實例中的待調(diào)用內(nèi)容可以被多個初始類實例共享和復(fù)用。并且在目標(biāo)類實例中不存在目標(biāo)調(diào)用內(nèi)容的情況下,可以通過動態(tài)地根據(jù)目標(biāo)調(diào)用特征生成目標(biāo)調(diào)用函數(shù),使得初始類實例不再受限于預(yù)設(shè)的調(diào)用方法和參數(shù)。進而使得初始類實例在執(zhí)行未預(yù)先設(shè)置的調(diào)用操作的時候,也能夠靈活應(yīng)對,無需修改底層代碼或進行大量配置調(diào)整,達到了提高調(diào)用操作的靈活性和可擴展性的技術(shù)效果。
1.一種信息調(diào)用方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在判斷在目標(biāo)類實例中是否存儲有所述目標(biāo)調(diào)用特征所對應(yīng)的目標(biāo)調(diào)用內(nèi)容之前,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,判斷在目標(biāo)類實例中是否存儲有所述目標(biāo)調(diào)用特征所對應(yīng)的目標(biāo)調(diào)用內(nèi)容包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過預(yù)設(shè)函數(shù)和所述目標(biāo)調(diào)用特征生成目標(biāo)調(diào)用函數(shù),并將所述目標(biāo)調(diào)用函數(shù)發(fā)送至所述初始類實例包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過預(yù)設(shè)函數(shù)和所述目標(biāo)調(diào)用特征生成目標(biāo)調(diào)用函數(shù),并將所述目標(biāo)調(diào)用函數(shù)發(fā)送至所述初始類實例包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,在判斷在目標(biāo)類實例中是否存儲有所述目標(biāo)調(diào)用特征所對應(yīng)的目標(biāo)調(diào)用內(nèi)容之前,所述方法還包括:
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,在通過預(yù)設(shè)函數(shù)和所述目標(biāo)調(diào)用特征生成目標(biāo)調(diào)用函數(shù)之后,所述方法還包括:
8.一種信息調(diào)用裝置,其特征在于,包括:
9.一種計算機程序產(chǎn)品,包括計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至7中任意一項所述的信息調(diào)用方法。
10.一種電子設(shè)備,其特征在于,包括一個或多個處理器和存儲器,所述存儲器用于存儲一個或多個程序,其中,當(dāng)所述一個或多個程序被所述一個或多個處理器執(zhí)行時,使得所述一個或多個處理器實現(xiàn)權(quán)利要求1至7中任意一項所述的信息調(diào)用方法。