本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種簡(jiǎn)化代碼的方法和裝置。
背景技術(shù):
隨著智能設(shè)備的廣泛使用,應(yīng)用的功能也越來(lái)越豐富。以直播應(yīng)用為例,用戶使用直播應(yīng)用時(shí),大部分時(shí)間都停留在直播頁(yè)面觀看直播視頻。直播頁(yè)面需要為用戶提供大量功能,例如發(fā)送彈幕、聊天、發(fā)送虛擬禮物、接收虛擬禮物、充值、屏蔽用戶、舉報(bào)用戶、觀看直播、調(diào)節(jié)亮度、調(diào)節(jié)聲音和旋轉(zhuǎn)屏幕方向等。在現(xiàn)有技術(shù)中,上述直播頁(yè)面的功能對(duì)應(yīng)的各個(gè)代理以及代理協(xié)議都容置在界面控制器UIViewController中。因此,使得UIViewController中包含了大量代碼。
然而,過(guò)多的代碼會(huì)給功能擴(kuò)充和維護(hù)應(yīng)用帶來(lái)困難。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種簡(jiǎn)化代碼的方法和裝置,用于簡(jiǎn)化UIViewController中的代碼。
第一方面,本發(fā)明提供了一種簡(jiǎn)化代碼的方法,包括:
創(chuàng)建界面控制器類、目標(biāo)功能類和目標(biāo)功能代理類,所述目標(biāo)功能類用于實(shí)現(xiàn)目標(biāo)應(yīng)用的目標(biāo)功能;
在所述界面控制器類中創(chuàng)建所述目標(biāo)代理類的目標(biāo)代理對(duì)象;
控制所述目標(biāo)代理類代理所述目標(biāo)功能類,以使得通過(guò)所述目標(biāo)代理對(duì)象能夠監(jiān)聽(tīng)所述目標(biāo)功能類的方法,進(jìn)而界面控制器類能夠監(jiān)聽(tīng)所述目標(biāo)功能類。
可選的,創(chuàng)建界面控制器類、目標(biāo)功能類和目標(biāo)功能代理類,包括:
創(chuàng)建界面控制器類的頭文件和源代碼文件;
創(chuàng)建目標(biāo)功能類的頭文件和源代碼文件;
創(chuàng)建目標(biāo)代理類的頭文件和源代碼文件。
可選的,控制所述目標(biāo)代理類代理所述目標(biāo)功能類,包括:
控制所述目標(biāo)代理類繼承缺省基類NSObject類;
控制所述目標(biāo)代理類遵守所述目標(biāo)功能類的代理協(xié)議。
可選的,在所述界面控制器類中創(chuàng)建所述目標(biāo)代理類的目標(biāo)代理對(duì)象,包括:
在所述界面控制器的源代碼文件中創(chuàng)建所述目標(biāo)代理類的目標(biāo)代理對(duì)象。
可選的,所述方法還包括:
所述目標(biāo)功能類中不能通過(guò)方法回調(diào)的代碼通過(guò)performSelector方法回傳到所述界面控制器類的源代碼文件中。
第二方面,本發(fā)明提供了一種簡(jiǎn)化代碼的裝置,包括:
第一創(chuàng)建模塊,用于創(chuàng)建界面控制器類、目標(biāo)功能類和目標(biāo)功能代理類,所述目標(biāo)功能類用于實(shí)現(xiàn)目標(biāo)應(yīng)用的目標(biāo)功能;
第二創(chuàng)建模塊,用于在所述界面控制器類中創(chuàng)建所述目標(biāo)代理類的目標(biāo)代理對(duì)象;
控制代理模塊,用于控制所述目標(biāo)代理類代理所述目標(biāo)功能類,以使得通過(guò)所述目標(biāo)代理對(duì)象能夠監(jiān)聽(tīng)所述目標(biāo)功能類的方法,進(jìn)而界面控制器類能夠監(jiān)聽(tīng)所述目標(biāo)功能類。
可選的,所述第一創(chuàng)建模塊用于創(chuàng)建界面控制器類的頭文件和源代碼文件,創(chuàng)建目標(biāo)功能類的頭文件和源代碼文件,創(chuàng)建目標(biāo)代理類的頭文件和源代碼文件。
可選的,所述控制代理模塊用于控制所述目標(biāo)代理類繼承缺省基類NSObject類;控制所述目標(biāo)代理類遵守所述目標(biāo)功能類的代理協(xié)議。
可選的,所述第二創(chuàng)建模塊用于在所述界面控制器的源代碼文件中創(chuàng)建所述目標(biāo)代理類的目標(biāo)代理對(duì)象。
可選的,所述裝置還包括回傳模塊,用于所述目標(biāo)功能類中不能通過(guò)方法回調(diào)的代碼通過(guò)performSelector方法回傳到所述界面控制器類的源代碼文件中。
本申請(qǐng)實(shí)施例中的上述一個(gè)或多個(gè)技術(shù)方案,至少具有如下一種或多種技術(shù)效果:
在本發(fā)明實(shí)施例的技術(shù)方案中,首先創(chuàng)建界面控制器類、目標(biāo)功能類和目標(biāo)功能代理類,其中,目標(biāo)功能類用于實(shí)現(xiàn)目標(biāo)應(yīng)用的目標(biāo)功能,然后在界面控制器類中創(chuàng)建所述目標(biāo)代理類的目標(biāo)代理對(duì)象,以及控制所述目標(biāo)代理類代理所述目標(biāo)功能類。相較于現(xiàn)有技術(shù)中將各個(gè)目標(biāo)代理對(duì)象和代理方法均創(chuàng)建在界面控制器類中,由于本發(fā)明實(shí)施例以目標(biāo)代理類代理目標(biāo)功能類,同時(shí)將目標(biāo)代理類的目標(biāo)代理對(duì)象創(chuàng)建在界面控制器類中,所以,使得目標(biāo)代理對(duì)象可以監(jiān)聽(tīng)未在界面控制器類中的目標(biāo)功能類的方法,由此使得界面控制器可以正常監(jiān)聽(tīng)目標(biāo)功能類。由此可見(jiàn),本發(fā)明實(shí)施例中的目標(biāo)功能類不在界面控制器類中,所以簡(jiǎn)化了界面控制器的代碼,便于維護(hù)。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例中的簡(jiǎn)化代碼的方法流程圖;
圖2為現(xiàn)有技術(shù)中UIViewController和代理方法的架構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例中UIViewController、代理方法和目標(biāo)代理對(duì)象的架構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例中的簡(jiǎn)化代碼的裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供了一種簡(jiǎn)化代碼的方法和裝置,用于簡(jiǎn)化UIViewController中的代碼。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供的技術(shù)方案思路如下:
在本發(fā)明實(shí)施例的技術(shù)方案中,首先創(chuàng)建界面控制器類、目標(biāo)功能類和目標(biāo)功能代理類,其中,目標(biāo)功能類用于實(shí)現(xiàn)目標(biāo)應(yīng)用的目標(biāo)功能,然后在界面控制器類中創(chuàng)建所述目標(biāo)代理類的目標(biāo)代理對(duì)象,以及控制所述目標(biāo)代理類代理所述目標(biāo)功能類。相較于現(xiàn)有技術(shù)中將各個(gè)目標(biāo)代理對(duì)象和代理方法均創(chuàng)建在界面控制器類中,由于本發(fā)明實(shí)施例以目標(biāo)代理類代理目標(biāo)功能類,同時(shí)將目標(biāo)代理類的目標(biāo)代理對(duì)象創(chuàng)建在界面控制器類中,所以,使得目標(biāo)代理對(duì)象可以監(jiān)聽(tīng)未在界面控制器類中的目標(biāo)功能類的方法,由此使得界面控制器可以正常監(jiān)聽(tīng)目標(biāo)功能類。由此可見(jiàn),本發(fā)明實(shí)施例中的目標(biāo)功能類不在界面控制器類中,所以簡(jiǎn)化了界面控制器的代碼,便于維護(hù)。
下面通過(guò)附圖以及具體實(shí)施例對(duì)本發(fā)明技術(shù)方案做詳細(xì)的說(shuō)明,應(yīng)當(dāng)理解本申請(qǐng)實(shí)施例以及實(shí)施例中的具體特征是對(duì)本申請(qǐng)技術(shù)方案的詳細(xì)的說(shuō)明,而不是對(duì)本申請(qǐng)技術(shù)方案的限定,在不沖突的情況下,本申請(qǐng)實(shí)施例以及實(shí)施例中的技術(shù)特征可以相互組合。
本文中術(shù)語(yǔ)“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:?jiǎn)为?dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
本發(fā)明第一方面提供了一種簡(jiǎn)化代碼的方法,請(qǐng)參考圖1,為本發(fā)明實(shí)施例中簡(jiǎn)化代碼的方法流程圖。該方法包括:
S101:創(chuàng)建界面控制器類、目標(biāo)功能類和目標(biāo)功能代理類,所述目標(biāo)功能類用于實(shí)現(xiàn)目標(biāo)應(yīng)用的目標(biāo)功能;
S102:在所述界面控制器類中創(chuàng)建所述目標(biāo)代理類的目標(biāo)代理對(duì)象;
S103:控制所述目標(biāo)代理類代理所述目標(biāo)功能類,以使得通過(guò)所述目標(biāo)代理對(duì)象能夠監(jiān)聽(tīng)所述目標(biāo)功能類的方法,進(jìn)而界面控制器類能夠監(jiān)聽(tīng)所述目標(biāo)功能類。
具體來(lái)講,界面控制器UIViewController類是用于控制界面的類。目標(biāo)應(yīng)用例如直播應(yīng)用、購(gòu)物應(yīng)用、聊天應(yīng)用或修圖應(yīng)用等,本發(fā)明不做具體限制。目標(biāo)功能為目標(biāo)應(yīng)用的功能,例如目標(biāo)應(yīng)用為直播應(yīng)用,目標(biāo)功能為充值功能、贈(zèng)送虛擬禮物功能、聊天功能和調(diào)節(jié)亮度功能等。
在具體實(shí)現(xiàn)過(guò)程中,本發(fā)明所屬領(lǐng)域的普通技術(shù)人員可以根據(jù)目標(biāo)應(yīng)用需要安裝的客戶端的實(shí)際情況創(chuàng)建界面控制器類、目標(biāo)功能類和目標(biāo)功能代理類,本發(fā)明不做具體限制。其中,在本發(fā)明實(shí)施例中,S101中創(chuàng)建界面控制器類、目標(biāo)功能類和目標(biāo)代理類可以通過(guò)如下過(guò)程實(shí)現(xiàn):
創(chuàng)建界面控制器類的頭文件和源代碼文件;
創(chuàng)建目標(biāo)功能類的頭文件和源代碼文件;
創(chuàng)建目標(biāo)代理類的頭文件和源代碼文件。
為了方便說(shuō)明,本發(fā)明將假設(shè)目標(biāo)應(yīng)用將安裝的客戶端設(shè)備的智能系統(tǒng)為蘋果移動(dòng)設(shè)備操作系統(tǒng)iso,進(jìn)而本發(fā)明實(shí)施例中創(chuàng)建界面控制器類、目標(biāo)功能類和目標(biāo)代理類將使用Xcode進(jìn)行創(chuàng)建。Xcode是蘋果公司開(kāi)發(fā)的編程軟件。
使用Xcode創(chuàng)建類時(shí),需要?jiǎng)?chuàng)建類的頭文件(.h文件)和源代碼文件(.m文件)。因此本發(fā)明實(shí)施例在創(chuàng)建界面控制器類、目標(biāo)功能類和目標(biāo)功能代理類時(shí),也需要相應(yīng)地創(chuàng)建界面控制器類的頭文件和源代碼文件,目標(biāo)功能類的頭文件和源代碼文件,以及目標(biāo)代理類的頭文件和源代碼文件。
舉例來(lái)說(shuō),假設(shè)界面控制器類名為UIViewController,則創(chuàng)建UIViewController類時(shí)需要?jiǎng)?chuàng)建UIViewController.h文件和UIViewController.m文件。假設(shè)目標(biāo)功能類名為OldA、OldB、OldC、…,則創(chuàng)建目標(biāo)功能類時(shí),需要?jiǎng)?chuàng)建OldA.h文件、OldA.m文件、OldB.h文件、OldB.m文件、OldC.h文件、OldC.m文件等,依次類推。假設(shè)目標(biāo)代理類名為NewA、NewB、NewC、…則創(chuàng)建目標(biāo)代理類時(shí)需要?jiǎng)?chuàng)建NewA.h文件、NewA.m文件、NewB.h文件、NewB.m文件、NewC.h文件、NewC.m文件等,依此類推。
本發(fā)明實(shí)施中創(chuàng)建的目標(biāo)代理類的數(shù)量可以與目標(biāo)功能類的數(shù)量一致,也可以不一致,本發(fā)明所屬領(lǐng)域的普通技術(shù)人員可以根據(jù)實(shí)際進(jìn)行設(shè)置,本發(fā)明不做具體限制。
另外,為了使得目標(biāo)功能類能夠?qū)崿F(xiàn)目標(biāo)應(yīng)用的目標(biāo)功能,還需要根據(jù)每個(gè)目標(biāo)功能類對(duì)應(yīng)的目標(biāo)功能在該目標(biāo)功能類的頭文件中創(chuàng)建函數(shù)聲明,并且在該目標(biāo)功能類的源代碼文件中創(chuàng)建各個(gè)函數(shù),通過(guò)創(chuàng)建的函數(shù)實(shí)現(xiàn)目標(biāo)功能。
創(chuàng)建完成界面控制器類、目標(biāo)功能類和目標(biāo)代理類后,執(zhí)行S102和S103。其中,在S102中,在界面控制器類中創(chuàng)建目標(biāo)代理類的目標(biāo)代理對(duì)象。具體來(lái)講,S102通過(guò)如下過(guò)程實(shí)現(xiàn):
在所述界面控制器的源代碼文件中創(chuàng)建所述目標(biāo)代理類的目標(biāo)代理對(duì)象。
在本發(fā)明實(shí)施例中,將目標(biāo)代理類的目標(biāo)代理對(duì)象創(chuàng)建在界面控制器中,具體為將目標(biāo)代理對(duì)象創(chuàng)建在UIViewController.m文件中。具體為通過(guò)newA*newAObject=[[newA alloc]init]創(chuàng)建NewA類的對(duì)象NewAObject。對(duì)于其他NewB和NewC等目標(biāo)代理類,通過(guò)類似的方法創(chuàng)建,此處就不在一一贅述了。
另外,為了使得目標(biāo)代理類能夠監(jiān)聽(tīng)目標(biāo)功能類的方法,在S103中,將控制目標(biāo)代理類代理目標(biāo)功能類。在本發(fā)明實(shí)施例中,S103可以通過(guò)如下過(guò)程實(shí)現(xiàn):
控制所述目標(biāo)代理類繼承缺省基類NSObject類;
控制所述目標(biāo)代理類遵守所述目標(biāo)功能類的代理協(xié)議。
首先,控制目標(biāo)代理類繼承缺省基類NSObject類。以NewA類為例,具體為在NewA.h文件中通過(guò)@interface NewA:NSObject來(lái)聲明NewA繼承NSObject類。對(duì)于其他NewB和NewC等,通過(guò)類似的方法繼承,此處就不在一一贅述了。目標(biāo)代理類通過(guò)繼承NSObject,使得目標(biāo)代理類可以繼承訪問(wèn)NSObject運(yùn)行時(shí)的接口,并讓目標(biāo)代理對(duì)象繼承Objective-C(蘋果開(kāi)發(fā)語(yǔ)言的簡(jiǎn)稱)對(duì)象的基本方法,例如下載Load方法和初始化initialize方法等。
另外,控制目標(biāo)代理類遵守目標(biāo)功能類的代理協(xié)議。在本發(fā)明實(shí)施例中,可以使目標(biāo)代理類代理類似名字的目標(biāo)功能類,如NewA代理OldA,NewB代理OldB,NewC代理OldC等,依次類推?;蛘?,也可以任意目標(biāo)代理類代理任意目標(biāo)功能類,即NewA代理OldC,NewB代理OldD等。在具體實(shí)現(xiàn)過(guò)程中,本發(fā)明所屬領(lǐng)域的普通技術(shù)人員可以根據(jù)實(shí)際進(jìn)行選擇,本發(fā)明不做具體限制。
在本發(fā)明實(shí)施例中,將以類似名字的目標(biāo)代理類代理目標(biāo)功能類為例來(lái)進(jìn)行后續(xù)介紹。以NewA類為例,通過(guò)@interface NewA:NSObject<A-Delegate>來(lái)使NewA遵守OldA的代理協(xié)議,并且通過(guò)OldA.delegate=NewAObejct使NewA的對(duì)象NewAObject代理OldA,進(jìn)而使得NewA.m文件中能夠?qū)崿F(xiàn)OldA中的方法,進(jìn)而監(jiān)聽(tīng)OldA的方法。對(duì)于其他NewB和NewC等,通過(guò)類似的方法代理,此處就不在一一贅述了。
在具體實(shí)現(xiàn)過(guò)程中,S102和S103的執(zhí)行順序可以按照具體實(shí)現(xiàn)過(guò)程進(jìn)行設(shè)置。具體來(lái)講,可以先控制目標(biāo)代理類代理目標(biāo)功能類,再在UIViewController類中創(chuàng)建目標(biāo)代理類的目標(biāo)代理對(duì)象;或者,先在UIViewControlle類中創(chuàng)建目標(biāo)代理類的目標(biāo)代理對(duì)象,再控制目標(biāo)代理類代理目標(biāo)功能類,本發(fā)明不做具體限制。
由于目標(biāo)代理類的目標(biāo)代理對(duì)象代理了目標(biāo)功能類,所以目標(biāo)代理對(duì)象可以監(jiān)聽(tīng)目標(biāo)功能類的方法,而目標(biāo)代理對(duì)象又在UIViewController類中,所以,UIViewController類就可以接收和監(jiān)聽(tīng)目標(biāo)功能類對(duì)象的消息。例如OldA的A對(duì)象接收到用戶發(fā)的彈幕或者最新收到的虛擬禮物,那么UIViewController也可以收到了用戶發(fā)的彈幕或者最新收到的虛擬禮物,進(jìn)而對(duì)A對(duì)象的消息進(jìn)行一些處理,例如顯示彈幕和禮物等。
由上述描述可以看出,在本發(fā)明實(shí)施例中由于沒(méi)有將代理目標(biāo)功能類的方法創(chuàng)建在UIViewController類中,由此減少了UIViewController中的代碼??刂颇繕?biāo)代理類代理目標(biāo)功能類,進(jìn)而使得目標(biāo)代理對(duì)象能夠監(jiān)聽(tīng)目標(biāo)功能類的方法,而目標(biāo)代理對(duì)象創(chuàng)建在UIViewController類中,由此使得UIViewController能夠正常監(jiān)聽(tīng)目標(biāo)功能類。
為了更加清楚地說(shuō)明本發(fā)明的技術(shù)效果,請(qǐng)參考圖2和圖3。圖2示出了現(xiàn)有技術(shù)中UIViewController和代理方法的架構(gòu)示意圖,圖3示出了本發(fā)明實(shí)施例中UIViewController、代理方法和目標(biāo)代理對(duì)象的架構(gòu)示意圖。
在現(xiàn)有技術(shù)中,UIViewController類直接代理各個(gè)對(duì)象的方法,所以導(dǎo)致UIViewController類中存在大量代碼,如圖2所示。而本發(fā)明實(shí)施例中,UIViewController類的大量代碼被簡(jiǎn)化成一個(gè)多個(gè)目標(biāo)代理對(duì)象,如圖3所示,通過(guò)目標(biāo)代理對(duì)象監(jiān)聽(tīng)目標(biāo)功能類的各個(gè)方法,由此簡(jiǎn)化了代碼。
其中,圖2和圖3中的“OldA的方法1”表示目標(biāo)功能類OldA的第1個(gè)方法,其他諸如“OldA的方法2”、“OldB的方法1”等表示的意義類似。在圖3中,“NewAObject”與“OldA的方法1”的連接線,表示NewAObject對(duì)象代理OldA的方法1。其他連接線的意義類似。
另外,本發(fā)明實(shí)施例還包括:
所述目標(biāo)功能類中不能通過(guò)方法回調(diào)的代碼通過(guò)performSelector方法回傳到所述界面控制器類的源代碼文件中。
具體來(lái)講,如果目標(biāo)功能類中存在不能通過(guò)方法回調(diào)的代碼,則通過(guò)performSelector方法回傳到UIViewController.m文件中即可。
基于與前述實(shí)施例中簡(jiǎn)化代碼的方法同樣的發(fā)明構(gòu)思,本發(fā)明第二方面還提供一種簡(jiǎn)化代碼的裝置,如圖4所示,包括:
第一創(chuàng)建模塊101,用于創(chuàng)建界面控制器類、目標(biāo)功能類和目標(biāo)功能代理類,所述目標(biāo)功能類用于實(shí)現(xiàn)目標(biāo)應(yīng)用的目標(biāo)功能;
第二創(chuàng)建模塊102,用于在所述界面控制器類中創(chuàng)建所述目標(biāo)代理類的目標(biāo)代理對(duì)象;
控制代理模塊103,用于控制所述目標(biāo)代理類代理所述目標(biāo)功能類,以使得通過(guò)所述目標(biāo)代理對(duì)象能夠監(jiān)聽(tīng)所述目標(biāo)功能類的方法,進(jìn)而界面控制器類能夠監(jiān)聽(tīng)所述目標(biāo)功能類。
其中,具體來(lái)講,第一創(chuàng)建模塊101用于創(chuàng)建界面控制器類的頭文件和源代碼文件,創(chuàng)建目標(biāo)功能類的頭文件和源代碼文件,創(chuàng)建目標(biāo)代理類的頭文件和源代碼文件。
控制代理模塊103用于控制所述目標(biāo)代理類繼承缺省基類NSObject類;控制所述目標(biāo)代理類遵守所述目標(biāo)功能類的代理協(xié)議。
第二創(chuàng)建模塊102用于在所述界面控制器的源代碼文件中創(chuàng)建所述目標(biāo)代理類的目標(biāo)代理對(duì)象。
進(jìn)一步,本發(fā)明實(shí)施例中的簡(jiǎn)化代碼的裝置還包括回傳模塊,用于所述目標(biāo)功能類中不能通過(guò)方法回調(diào)的代碼通過(guò)performSelector方法回傳到所述界面控制器類的源代碼文件中。
前述圖1-圖3實(shí)施例中的簡(jiǎn)化代碼的方法的各種變化方式和具體實(shí)例同樣適用于本實(shí)施例的簡(jiǎn)化代碼的裝置,通過(guò)前述對(duì)簡(jiǎn)化代碼的方法的詳細(xì)描述,本領(lǐng)域技術(shù)人員可以清楚的知道本實(shí)施例中簡(jiǎn)化代碼的裝置的實(shí)施方法,所以為了說(shuō)明書的簡(jiǎn)潔,在此不再詳述。
本申請(qǐng)實(shí)施例中的上述一個(gè)或多個(gè)技術(shù)方案,至少具有如下一種或多種技術(shù)效果:
在本發(fā)明實(shí)施例的技術(shù)方案中,首先創(chuàng)建界面控制器類、目標(biāo)功能類和目標(biāo)功能代理類,其中,目標(biāo)功能類用于實(shí)現(xiàn)目標(biāo)應(yīng)用的目標(biāo)功能,然后在界面控制器類中創(chuàng)建所述目標(biāo)代理類的目標(biāo)代理對(duì)象,以及控制所述目標(biāo)代理類代理所述目標(biāo)功能類。相較于現(xiàn)有技術(shù)中將各個(gè)目標(biāo)代理對(duì)象和代理方法均創(chuàng)建在界面控制器類中,由于本發(fā)明實(shí)施例以目標(biāo)代理類代理目標(biāo)功能類,同時(shí)將目標(biāo)代理類的目標(biāo)代理對(duì)象創(chuàng)建在界面控制器類中,所以,使得目標(biāo)代理對(duì)象可以監(jiān)聽(tīng)未在界面控制器類中的目標(biāo)功能類的方法,由此使得界面控制器可以正常監(jiān)聽(tīng)目標(biāo)功能類。由此可見(jiàn),本發(fā)明實(shí)施例中的目標(biāo)功能類不在界面控制器類中,所以簡(jiǎn)化了界面控制器的代碼,便于維護(hù)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。