應(yīng)用程序的開(kāi)發(fā)裝置及方法、應(yīng)用程序的控制裝置及方法
【專(zhuān)利摘要】本發(fā)明提出了一種應(yīng)用程序的開(kāi)發(fā)裝置及方法,其中裝置包括:界面控制層模塊,用于控制應(yīng)用程序的界面;數(shù)據(jù)層模塊,用于存儲(chǔ)并維護(hù)所述應(yīng)用程序的數(shù)據(jù);控制層模塊,用于接收應(yīng)用程序的開(kāi)發(fā)者所生成的邏輯控制列表,并通過(guò)邏輯控制列表對(duì)界面控制層模塊和數(shù)據(jù)層模塊進(jìn)行控制。本發(fā)明還提出了一種應(yīng)用程序的控制裝置及方法。本發(fā)明通過(guò)采用面向數(shù)據(jù)的編程方式,使一切業(yè)務(wù)邏輯及用戶(hù)操作均以操作數(shù)據(jù)對(duì)象為目的,則應(yīng)用程序開(kāi)發(fā)者不再需要設(shè)計(jì)維持?jǐn)?shù)據(jù)與界面統(tǒng)一的應(yīng)用程序框架,只需對(duì)業(yè)務(wù)邏輯所對(duì)應(yīng)的數(shù)據(jù)對(duì)象進(jìn)行描述并維護(hù),降低了開(kāi)發(fā)者開(kāi)發(fā)的技術(shù)門(mén)檻,節(jié)省了開(kāi)發(fā)時(shí)間和開(kāi)發(fā)成本,在應(yīng)用程序運(yùn)行時(shí)減少了數(shù)據(jù)傳輸,節(jié)省了時(shí)間和網(wǎng)絡(luò)帶寬。
【專(zhuān)利說(shuō)明】應(yīng)用程序的開(kāi)發(fā)裝置及方法、應(yīng)用程序的控制裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)云開(kāi)發(fā)【技術(shù)領(lǐng)域】,特別涉及一種應(yīng)用程序的開(kāi)發(fā)裝置及方法、一種應(yīng)用程序的控制裝置及方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)云技術(shù)的發(fā)展,云服務(wù)器的并發(fā)處理的性能越發(fā)強(qiáng)大,但是在當(dāng)前應(yīng)用中,由于云技術(shù)的核心是借助網(wǎng)絡(luò)多PC計(jì)算來(lái)減輕用戶(hù)的計(jì)算負(fù)擔(dān),在云服務(wù)器足夠強(qiáng)大時(shí),云技術(shù)應(yīng)用的瓶頸主要在于網(wǎng)絡(luò)傳輸延遲、網(wǎng)絡(luò)帶寬及數(shù)據(jù)傳輸耗時(shí)上?,F(xiàn)有應(yīng)用程序的云開(kāi)發(fā)中,開(kāi)發(fā)人員需要同時(shí)操作界面和數(shù)據(jù)兩個(gè)主體,并在應(yīng)用程序運(yùn)行時(shí)維持?jǐn)?shù)據(jù)與界面的統(tǒng)一性,因此需要為數(shù)據(jù)層和界面層各自設(shè)置不同的接口,并保證互相之間的兼容性,以保證在其中任何一個(gè)主體發(fā)生變化時(shí),都需要將變化轉(zhuǎn)換并反饋至另一主體。為實(shí)現(xiàn)界面和數(shù)據(jù)兩個(gè)主體的統(tǒng)一'丨生,需要編寫(xiě)大量對(duì)D0M(Document Object Model,文檔對(duì)象模型)的修改代碼及處理不同模塊間關(guān)聯(lián)影響的代碼。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的旨在至少解決所述技術(shù)缺陷之一。
[0004]為此,本發(fā)明的目的在于提出一種應(yīng)用程序的開(kāi)發(fā)裝置及方法,以及一種應(yīng)用程序的控制裝置及方法,通過(guò)采用面向數(shù)據(jù)的編程方式,使一切業(yè)務(wù)邏輯及用戶(hù)操作均以操作數(shù)據(jù)對(duì)象為目的,應(yīng)用程序開(kāi)發(fā)者只需對(duì)業(yè)務(wù)邏輯所對(duì)應(yīng)的數(shù)據(jù)對(duì)象進(jìn)行描述并維護(hù),降低開(kāi)發(fā)者開(kāi)發(fā)的技術(shù)門(mén)檻,節(jié)省開(kāi)發(fā)時(shí)間和開(kāi)發(fā)成本,在應(yīng)用程序運(yùn)行時(shí)減少數(shù)據(jù)傳輸,節(jié)省時(shí)間和網(wǎng)絡(luò)帶寬。
[0005]為達(dá)到所述目的,本發(fā)明第一方面的實(shí)施例公開(kāi)了一種應(yīng)用程序的開(kāi)發(fā)裝置,包括:界面控制層模塊、數(shù)據(jù)層模塊和控制層模塊,其中,所述界面控制層模塊,用于控制應(yīng)用程序的界面;所述數(shù)據(jù)層模塊,用于存儲(chǔ)并維護(hù)所述應(yīng)用程序的數(shù)據(jù);所述控制層模塊,用于接收所述應(yīng)用程序的開(kāi)發(fā)者所生成的邏輯控制列表,并通過(guò)所述邏輯控制列表對(duì)所述界面控制層模塊和所述數(shù)據(jù)層模塊進(jìn)行控制,其中,所述邏輯控制列表包括所述應(yīng)用程序的界面與數(shù)據(jù)之間的邏輯關(guān)系。
[0006]根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的開(kāi)發(fā)裝置,通過(guò)采用面向數(shù)據(jù)的編程方式,使一切業(yè)務(wù)邏輯及用戶(hù)操作均以操作數(shù)據(jù)對(duì)像為目的,則應(yīng)用程序開(kāi)發(fā)者不再需要設(shè)計(jì)維持?jǐn)?shù)據(jù)與界面統(tǒng)一的應(yīng)用程序框架,只需對(duì)業(yè)務(wù)邏輯所對(duì)應(yīng)的數(shù)據(jù)對(duì)象進(jìn)行描述并維護(hù),降低了應(yīng)用程序開(kāi)發(fā)者開(kāi)發(fā)的技術(shù)門(mén)檻,節(jié)省了開(kāi)發(fā)時(shí)間和開(kāi)發(fā)成本。
[0007]在本發(fā)明的一個(gè)實(shí)施例中,所述邏輯控制列表包括界面事件、控制指令和數(shù)據(jù)事件之間的邏輯關(guān)系。
[0008]在本發(fā)明的一個(gè)實(shí)施例中,所述界面控制層模塊和所述控制層模塊之間通過(guò)界面事件和數(shù)據(jù)事件進(jìn)行交互,所述控制層模塊通過(guò)所述控制指令對(duì)所述數(shù)據(jù)層模塊進(jìn)行控制,并監(jiān)測(cè)所述數(shù)據(jù)層模塊中數(shù)據(jù)的變動(dòng),以及根據(jù)所述數(shù)據(jù)層模塊中數(shù)據(jù)的變動(dòng)生成對(duì)應(yīng)的數(shù)據(jù)事件。
[0009]在本發(fā)明的一個(gè)實(shí)施例中,所述邏輯控制列表由所述應(yīng)用程序的開(kāi)發(fā)者面向所述應(yīng)用程序中業(yè)務(wù)邏輯對(duì)應(yīng)的數(shù)據(jù)進(jìn)行編寫(xiě)。
[0010]本發(fā)明第二方面的實(shí)施例提出了一種應(yīng)用程序的開(kāi)發(fā)方法,包括以下步驟:接收開(kāi)發(fā)者發(fā)送的應(yīng)用程序的界面模板、數(shù)據(jù)和邏輯控制列表;分別將所述界面模板、數(shù)據(jù)和邏輯控制列表發(fā)送中界面控制層、數(shù)據(jù)層和控制層;所述控制層根據(jù)所述應(yīng)用程序的初始狀態(tài)控制所述界面控制層顯示初始界面;所述控制層通過(guò)所述邏輯控制列表對(duì)所述界面控制層和所述數(shù)據(jù)層進(jìn)行控制,其中,所述邏輯控制列表包括所述應(yīng)用程序的界面與數(shù)據(jù)之間的邏輯關(guān)系。
[0011]根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的開(kāi)發(fā)方法,通過(guò)采用面向數(shù)據(jù)的編程方式,使一切業(yè)務(wù)邏輯及用戶(hù)操作均以操作數(shù)據(jù)對(duì)像為目的,則應(yīng)用程序開(kāi)發(fā)者不再需要設(shè)計(jì)維持?jǐn)?shù)據(jù)與界面統(tǒng)一的應(yīng)用程序框架,只需對(duì)業(yè)務(wù)邏輯所對(duì)應(yīng)的數(shù)據(jù)對(duì)象進(jìn)行描述并維護(hù),降低了應(yīng)用程序開(kāi)發(fā)者開(kāi)發(fā)的技術(shù)門(mén)檻,節(jié)省了開(kāi)發(fā)時(shí)間和開(kāi)發(fā)成本。
[0012]在本發(fā)明的一個(gè)實(shí)施例中,所述邏輯控制列表包括界面事件、控制指令和數(shù)據(jù)事件之間的邏輯關(guān)系。
[0013]在本發(fā)明的一個(gè)實(shí)施例中,所述界面控制層和所述控制層之間通過(guò)界面事件和數(shù)據(jù)事件進(jìn)行交互,所述控制層通過(guò)所述控制指令對(duì)所述數(shù)據(jù)層進(jìn)行控制,并監(jiān)測(cè)所述數(shù)據(jù)層中數(shù)據(jù)的變動(dòng),以及根據(jù)所述數(shù)據(jù)層中數(shù)據(jù)的變動(dòng)生成對(duì)應(yīng)的數(shù)據(jù)事件。
[0014]在本發(fā)明的一個(gè)實(shí)施例中,所述邏輯控制列表由所述應(yīng)用程序的開(kāi)發(fā)者面向所述應(yīng)用程序中業(yè)務(wù)邏輯對(duì)應(yīng)的數(shù)據(jù)進(jìn)行編寫(xiě)。
[0015]本發(fā)明第三方面的實(shí)施例提出了一種應(yīng)用程序的控制裝置,包括界面控制層模塊、數(shù)據(jù)層模塊和控制層模塊,其中,所述界面控制層模塊,用于控制應(yīng)用程序的界面,接收用戶(hù)對(duì)所述界面的輸入指令并根據(jù)所述輸入指令生成界面事件,以及根據(jù)所述控制層模塊生成的數(shù)據(jù)事件對(duì)所述應(yīng)用程序的界面進(jìn)行對(duì)應(yīng)的控制操作;所述數(shù)據(jù)層模塊,用于存儲(chǔ)并維護(hù)所述應(yīng)用程序的數(shù)據(jù),并根據(jù)所述控制層模塊的控制指令對(duì)所述數(shù)據(jù)進(jìn)行對(duì)應(yīng)的控制操作;所述控制層模塊,用于根據(jù)所述應(yīng)用程序?qū)?yīng)的邏輯控制列表和所述界面控制層模塊發(fā)送的界面事件生成對(duì)應(yīng)的控制指令,并將所述對(duì)應(yīng)的控制指令發(fā)送至所述數(shù)據(jù)層模塊,以及根據(jù)所述邏輯控制列表和所述界面事件生成對(duì)應(yīng)的數(shù)據(jù)事件,并將所述數(shù)據(jù)事件發(fā)送至所述界面控制層模塊。
[0016]根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的控制裝置,通過(guò)采用面向數(shù)據(jù)的編程方式,使一切業(yè)務(wù)邏輯及用戶(hù)操作均以操作數(shù)據(jù)對(duì)像為目的,則應(yīng)用程序開(kāi)發(fā)者不再需要設(shè)計(jì)維持?jǐn)?shù)據(jù)與界面統(tǒng)一的應(yīng)用程序框架,只需對(duì)業(yè)務(wù)邏輯所對(duì)應(yīng)的數(shù)據(jù)對(duì)象進(jìn)行描述并維護(hù),在應(yīng)用程序運(yùn)行時(shí),數(shù)據(jù)傳輸只基于更新數(shù)據(jù),減少了對(duì)于網(wǎng)絡(luò)帶寬的消耗,節(jié)省了時(shí)間。
[0017]在本發(fā)明的一個(gè)實(shí)施例中,所述邏輯控制列表包括界面事件、控制指令和數(shù)據(jù)事件之間的邏輯關(guān)系。
[0018]在本發(fā)明的一個(gè)實(shí)施例中,所述數(shù)據(jù)事件包括所述數(shù)據(jù)層模塊根據(jù)所述控制指令生成的更新數(shù)據(jù),所述界面控制層模塊根據(jù)所述更新數(shù)據(jù)對(duì)預(yù)存的界面模板進(jìn)行重新渲染。
[0019]在本發(fā)明的一個(gè)實(shí)施例中,所述邏輯控制列表由所述應(yīng)用程序的開(kāi)發(fā)者面向所述應(yīng)用程序中業(yè)務(wù)邏輯對(duì)應(yīng)的數(shù)據(jù)進(jìn)行編寫(xiě)。
[0020]在本發(fā)明的一個(gè)實(shí)施例中,所述控制裝置運(yùn)行在云端服務(wù)器和客戶(hù)端。
[0021]本發(fā)明第四方面實(shí)施例提出了一種應(yīng)用程序的控制方法,包括以下步驟:界面控制層向用戶(hù)顯示應(yīng)用程序的界面,并接收用戶(hù)對(duì)所述界面的輸入指令;所述界面控制層根據(jù)所述輸入指令生成界面事件,并將所述界面事件發(fā)送至控制層;所述控制層根據(jù)所述應(yīng)用程序?qū)?yīng)的邏輯控制列表和所述界面控制層發(fā)送的界面事件生成對(duì)應(yīng)的控制指令,并將所述對(duì)應(yīng)的控制指令發(fā)送至所述數(shù)據(jù)層;所述數(shù)據(jù)層執(zhí)行所述控制指令以更新所述數(shù)據(jù)層中的數(shù)據(jù);所述控制層根據(jù)所述更新的數(shù)據(jù)、所述邏輯控制列表和所述界面事件生成對(duì)應(yīng)的數(shù)據(jù)事件,并將所述數(shù)據(jù)事件發(fā)送至所述界面控制層;所述界面控制層根據(jù)所述數(shù)據(jù)事件對(duì)所述應(yīng)用程序的界面進(jìn)行對(duì)應(yīng)的控制操作。
[0022]根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的控制方法,通過(guò)采用面向數(shù)據(jù)的編程方式,使一切業(yè)務(wù)邏輯及用戶(hù)操作均以操作數(shù)據(jù)對(duì)像為目的,則應(yīng)用程序開(kāi)發(fā)者不再需要設(shè)計(jì)維持?jǐn)?shù)據(jù)與界面統(tǒng)一的應(yīng)用程序框架,只需對(duì)業(yè)務(wù)邏輯所對(duì)應(yīng)的數(shù)據(jù)對(duì)象進(jìn)行描述并維護(hù),在應(yīng)用程序運(yùn)行時(shí),數(shù)據(jù)傳輸只基于更新數(shù)據(jù),減少了對(duì)于網(wǎng)絡(luò)帶寬的消耗,節(jié)省了時(shí)間。
[0023]在本發(fā)明的一個(gè)實(shí)施例中,所述邏輯控制列表包括界面事件、控制指令和數(shù)據(jù)事件之間的邏輯關(guān)系。
[0024]在本發(fā)明的一個(gè)實(shí)施例中,所述界面控制層根據(jù)所述數(shù)據(jù)事件對(duì)所述應(yīng)用程序的界面進(jìn)行對(duì)應(yīng)的控制操作進(jìn)一步包括:所述界面控制層調(diào)用所述數(shù)據(jù)事件對(duì)應(yīng)的界面模板;所述界面控制層根據(jù)所述數(shù)據(jù)事件對(duì)所述界面模板進(jìn)行重新渲染。
[0025]在本發(fā)明的一個(gè)實(shí)施例中,所述邏輯控制列表由所述應(yīng)用程序的開(kāi)發(fā)者面向所述應(yīng)用程序中業(yè)務(wù)邏輯對(duì)應(yīng)的數(shù)據(jù)進(jìn)行編寫(xiě)。
[0026]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0027]本發(fā)明所述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
[0028]圖1為根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的開(kāi)發(fā)裝置的示意圖;
[0029]圖2為根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的開(kāi)發(fā)裝置的數(shù)據(jù)交互的示意圖;
[0030]圖3為根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的開(kāi)發(fā)方法的流程圖;
[0031]圖4為一個(gè)時(shí)鐘應(yīng)用程序修改時(shí)間界面的示例圖;
[0032]圖5為根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的控制裝置的示意圖;
[0033]圖6為根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的控制方法的流程圖;
[0034]圖7為根據(jù)本發(fā)明另一個(gè)實(shí)施例的應(yīng)用程序的控制方法的流程圖。
【具體實(shí)施方式】
[0035]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。[0036]在本發(fā)明的描述中,需要理解的是,術(shù)語(yǔ)“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底” “內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所
示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡(jiǎn)化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明的限制。
[0037]在本發(fā)明的描述中,需要說(shuō)明的是,除非另有規(guī)定和限定,術(shù)語(yǔ)“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是機(jī)械連接或電連接,也可以是兩個(gè)元件內(nèi)部的連通,可以是直接相連,也可以通過(guò)中間媒介間接相連,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解所述術(shù)語(yǔ)的具體含義。
[0038]下面參考圖1至圖4描述本發(fā)明實(shí)施例的應(yīng)用程序的開(kāi)發(fā)裝置及開(kāi)發(fā)方法。
[0039]如圖1所示,本發(fā)明第一方面實(shí)施例的應(yīng)用程序的開(kāi)發(fā)裝置,包括:界面控制層模塊110、數(shù)據(jù)層模塊120和控制層模塊130。
[0040]具體地,界面控制層模塊110用于控制應(yīng)用程序的界面,數(shù)據(jù)層模塊120用于存儲(chǔ)并維護(hù)所述應(yīng)用程序的數(shù)據(jù)??刂茖幽K130用于接收應(yīng)用程序的開(kāi)發(fā)者所生成的邏輯控制列表,并通過(guò)邏輯控制列表對(duì)界面控制層模塊110和數(shù)據(jù)層模塊120進(jìn)行控制,其中,邏輯控制列表包括應(yīng)用程序的界面與數(shù)據(jù)之間的邏輯關(guān)系。
[0041]具體地,界面控制層模塊110和控制層模塊130之間通過(guò)界面事件和數(shù)據(jù)事件進(jìn)行交互,界面控制層模塊110和控制層模塊之間的交互是通過(guò)實(shí)時(shí)性的雙向數(shù)據(jù)通道,控制層模塊130通過(guò)控制指令對(duì)數(shù)據(jù)層模塊120進(jìn)行控制,并監(jiān)測(cè)數(shù)據(jù)層模塊110中數(shù)據(jù)的變動(dòng),以及根據(jù)數(shù)據(jù)層模塊120中數(shù)據(jù)的變動(dòng)生成對(duì)應(yīng)的數(shù)據(jù)事件。其中,數(shù)據(jù)的變動(dòng)可以是因?yàn)橛脩?hù)操作等的界面事件引發(fā)的,也可以是由其他數(shù)據(jù)變動(dòng)而引起的變動(dòng)。
[0042]與現(xiàn)有的應(yīng)用程序的開(kāi)發(fā)過(guò)程的區(qū)別在于,應(yīng)用程序的開(kāi)發(fā)者不再需要為接口進(jìn)行設(shè)計(jì),而只需編寫(xiě)邏輯控制列表。邏輯控制列表包括界面事件、控制指令和數(shù)據(jù)事件之間的邏輯關(guān)系,邏輯控制列表由應(yīng)用程序的開(kāi)發(fā)者面向應(yīng)用程序中業(yè)務(wù)邏輯對(duì)應(yīng)的數(shù)據(jù)進(jìn)行編寫(xiě)。如圖2所示,控制層根據(jù)邏輯控制列表,對(duì)數(shù)據(jù)事件和界面事件進(jìn)行管理。邏輯控制列表是開(kāi)發(fā)人員編寫(xiě)的處理界面事件與數(shù)據(jù)事件的處理過(guò)程,在處理界面事件時(shí),開(kāi)發(fā)人員將關(guān)注于當(dāng)前事件(如點(diǎn)擊某個(gè)按鈕、拖拽某個(gè)按鈕等)將觸發(fā)哪些數(shù)據(jù)的變動(dòng),并將該數(shù)據(jù)變動(dòng)告知數(shù)據(jù)層,使數(shù)據(jù)層中的數(shù)據(jù)發(fā)生相應(yīng)的變化,在處理數(shù)據(jù)事件時(shí),開(kāi)發(fā)人員將關(guān)注于當(dāng)前數(shù)據(jù)所對(duì)應(yīng)的界面是哪一部份,并將對(duì)應(yīng)的模版及數(shù)據(jù)告知界面層,使界面層重新渲染模版更新界面。
[0043]根據(jù)本發(fā)明實(shí)施例提供的應(yīng)用程序的開(kāi)發(fā)裝置,通過(guò)采用面向數(shù)據(jù)的編程方式,使一切業(yè)務(wù)邏輯及用戶(hù)操作均以操作數(shù)據(jù)對(duì)像為目的,則應(yīng)用程序開(kāi)發(fā)者不再需要設(shè)計(jì)維持?jǐn)?shù)據(jù)與界面統(tǒng)一的應(yīng)用程序框架,只需對(duì)業(yè)務(wù)邏輯所對(duì)應(yīng)的數(shù)據(jù)對(duì)象進(jìn)行描述并維護(hù),降低了應(yīng)用程序開(kāi)發(fā)者開(kāi)發(fā)的技術(shù)門(mén)檻,節(jié)省了開(kāi)發(fā)時(shí)間和開(kāi)發(fā)成本。
[0044]如圖3所示,本發(fā)明第二方面實(shí)施例的應(yīng)用程序的開(kāi)發(fā)方法,包括以下步驟:
[0045]S301:接收開(kāi)發(fā)者發(fā)送的應(yīng)用程序的界面模板、數(shù)據(jù)和邏輯控制列表。
[0046]其中,邏輯控制列表包括界面事件、控制指令和數(shù)據(jù)事件的邏輯關(guān)系。邏輯控制列表由應(yīng)用程序的開(kāi)發(fā)者面向應(yīng)用程序中業(yè)務(wù)邏輯對(duì)應(yīng)的數(shù)據(jù)進(jìn)行編寫(xiě)。如圖2所示,界面控制層和控制層之間通過(guò)界面事件和數(shù)據(jù)事件進(jìn)行交互,控制層通過(guò)控制指令對(duì)數(shù)據(jù)層進(jìn)行控制,并監(jiān)測(cè)數(shù)據(jù)層中數(shù)據(jù)的變動(dòng),以及根據(jù)數(shù)據(jù)層中數(shù)據(jù)的變動(dòng)生成對(duì)應(yīng)的數(shù)據(jù)事件。其中,數(shù)據(jù)的變動(dòng)可以是因?yàn)橛脩?hù)操作等的界面事件引發(fā)的,也可以是由其他數(shù)據(jù)變動(dòng)而引起的變動(dòng)。
[0047]本發(fā)明中應(yīng)用程序開(kāi)發(fā)者不再需要為數(shù)據(jù)層和界面層各自設(shè)計(jì)接口以維持?jǐn)?shù)據(jù)與界面數(shù)據(jù)的實(shí)時(shí)性,而只需提供邏輯控制列表。即,數(shù)據(jù)事件與界面事件的代碼邏輯是分離的。如圖4所示,某時(shí)鐘應(yīng)用程序中,用戶(hù)想要將時(shí)間從8:00更改為9:00,在程序界面中,為用戶(hù)提供了兩種更改時(shí)間的方法:可以直接將光標(biāo)移動(dòng)到時(shí)鐘表示“時(shí)”的08處,輸入9 ;也可以按+—鍵將8調(diào)整到9。這兩種方法在界面事件的代碼邏輯是不一樣的,但在數(shù)據(jù)事件的邏輯上都是一樣的,即將“時(shí)間”這一參數(shù)的值由8:00改為9:00。開(kāi)發(fā)人員在處理界面事件時(shí)只需關(guān)注該事件對(duì)數(shù)據(jù)層所造成的影響,并將該事件影響通知數(shù)據(jù)層修改數(shù)據(jù)。在處理數(shù)據(jù)事件時(shí),只需關(guān)系該數(shù)據(jù)所對(duì)應(yīng)的界面部份,并告知界面層數(shù)據(jù)與模板的對(duì)應(yīng)關(guān)系,使界面層重新渲染模版并更新界面。
[0048]S302:分別將界面模板、數(shù)據(jù)和邏輯控制列表發(fā)送至界面控制層、數(shù)據(jù)層和控制層。
[0049]S303:控制層根據(jù)應(yīng)用程序的初始狀態(tài)控制界面控制層顯示初始界面。
[0050]S304:控制層通過(guò)邏輯控制列表對(duì)界面控制層和數(shù)據(jù)層進(jìn)行控制,其中,邏輯控制列表包括應(yīng)用程序的界面與數(shù)據(jù)之間的邏輯關(guān)系。
[0051]根據(jù)本發(fā)明實(shí)施例提供的應(yīng)用程序的開(kāi)發(fā)方法,通過(guò)采用面向數(shù)據(jù)的編程方式,使一切業(yè)務(wù)邏輯及用戶(hù)操作均以操作數(shù)據(jù)對(duì)像為目的,則應(yīng)用程序開(kāi)發(fā)者不再需要設(shè)計(jì)維持?jǐn)?shù)據(jù)與界面統(tǒng)一的應(yīng)用程序框架,只需對(duì)業(yè)務(wù)邏輯所對(duì)應(yīng)的數(shù)據(jù)對(duì)象進(jìn)行描述并維護(hù),降低了應(yīng)用程序開(kāi)發(fā)者開(kāi)發(fā)的技術(shù)門(mén)檻,節(jié)省了開(kāi)發(fā)時(shí)間和開(kāi)發(fā)成本。
[0052]下面參考圖5描述根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的控制裝置。在用戶(hù)使用應(yīng)用程序時(shí),用戶(hù)通過(guò)在用戶(hù)界面進(jìn)行操作來(lái)向應(yīng)用程序傳遞信息。
[0053]如圖5所示,本發(fā)明第三方面實(shí)施例的應(yīng)用程序的控制裝置,包括:界面控制層模塊510、數(shù)據(jù)層模塊520和控制層模塊530。
[0054]具體地,界面控制層模塊510用于控制應(yīng)用程序的界面,接收用戶(hù)對(duì)所述界面的輸入指令并根據(jù)所述輸入指令生成界面事件,以及根據(jù)控制層模塊530生成的數(shù)據(jù)事件對(duì)應(yīng)用程序的界面進(jìn)行對(duì)應(yīng)的控制操作??刂茖幽K530用于根據(jù)應(yīng)用程序?qū)?yīng)的邏輯控制列表和界面控制層模塊510發(fā)送的界面事件生成對(duì)應(yīng)的控制指令,并將對(duì)應(yīng)的控制指令發(fā)送至數(shù)據(jù)層模塊520,以及根據(jù)邏輯控制列表和界面事件生成對(duì)應(yīng)的數(shù)據(jù)事件,并將數(shù)據(jù)事件發(fā)送至界面控制層模塊510。其中,邏輯控制列表包括界面事件、控制指令和數(shù)據(jù)事件之間的邏輯關(guān)系。邏輯控制列表由應(yīng)用程序的開(kāi)發(fā)者面向應(yīng)用程序中業(yè)務(wù)邏輯對(duì)應(yīng)的數(shù)據(jù)進(jìn)行編寫(xiě)。數(shù)據(jù)層模塊520用于存儲(chǔ)并維護(hù)應(yīng)用程序的數(shù)據(jù),并根據(jù)控制層模塊530的控制指令對(duì)數(shù)據(jù)進(jìn)行對(duì)應(yīng)的控制操作。邏輯控制列表使數(shù)據(jù)發(fā)布/訂閱機(jī)制實(shí)現(xiàn)自動(dòng)化和隨動(dòng)反饋化,界面事件發(fā)生后,可自動(dòng)觸發(fā)數(shù)據(jù)的更新/修改事件,數(shù)據(jù)層將做出自動(dòng)響應(yīng)并寫(xiě)入最新數(shù)據(jù)。數(shù)據(jù)事件與界面事件的代碼邏輯是分離的,如圖4所示,用戶(hù)想要將時(shí)間從8:00更改為9:00,在程序界面中,為用戶(hù)提供了兩種更改時(shí)間的方法:可以直接將光標(biāo)移動(dòng)到時(shí)鐘表示“時(shí)”的08處,輸入9 ;也可以按+-鍵將8調(diào)整到9。這兩種方法在界面事件的代碼邏輯是不一樣的,但在數(shù)據(jù)事件的邏輯上都是一樣的,即將“時(shí)間”這一參數(shù)的值由8:00改為9:00。開(kāi)發(fā)人員在處理界面事件時(shí)只需關(guān)注該事件對(duì)數(shù)據(jù)層所造成的影響,并將該事件影響通知數(shù)據(jù)層修改數(shù)據(jù)。在處理數(shù)據(jù)事件時(shí),只需關(guān)系該數(shù)據(jù)所對(duì)應(yīng)的界面部份,并告知界面層數(shù)據(jù)與模板的對(duì)應(yīng)關(guān)系,使界面層重新渲染模版并更新界面。
[0055]在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)事件包括數(shù)據(jù)層模塊520根據(jù)控制指令生成的更新數(shù)據(jù),界面控制層模塊510根據(jù)更新數(shù)據(jù)對(duì)預(yù)存的界面模板進(jìn)行重新渲染。在現(xiàn)有技術(shù)中,界面層提供接口供應(yīng)用程序訪問(wèn)數(shù)據(jù),為保證應(yīng)用程序正常工作,并及時(shí)向用戶(hù)返回程序運(yùn)行結(jié)果,必須保證網(wǎng)絡(luò)連接的穩(wěn)定性和通暢性,以實(shí)時(shí)同步客戶(hù)端和云端服務(wù)器的數(shù)據(jù),在這個(gè)前提下,云端服務(wù)器必須保證同時(shí)維護(hù)多個(gè)連接數(shù)和接收新創(chuàng)建連接的性能,并對(duì)各網(wǎng)絡(luò)連接進(jìn)行管理,而在實(shí)際應(yīng)用中,為實(shí)現(xiàn)某些連接,會(huì)出現(xiàn)需要引入多種第三方插件、代理服務(wù)器,并導(dǎo)致插件不兼容、代理嵌套等影響用戶(hù)使用的問(wèn)題。當(dāng)多個(gè)用戶(hù)同時(shí)在線(xiàn)時(shí),必須設(shè)置防止死鎖等機(jī)制來(lái)保證用戶(hù)請(qǐng)求的數(shù)據(jù)為最新數(shù)據(jù);當(dāng)多個(gè)用戶(hù)需要進(jìn)行操作,對(duì)同一數(shù)據(jù)進(jìn)行寫(xiě)入時(shí),也必須避免臟數(shù)據(jù)對(duì)數(shù)據(jù)庫(kù)的寫(xiě)覆蓋。而在本發(fā)明實(shí)施例中,控制裝置運(yùn)行在云端服務(wù)器和客戶(hù)端,界面控制層模塊和數(shù)據(jù)層模塊之間通過(guò)實(shí)時(shí)數(shù)據(jù)通道相連接。數(shù)據(jù)在數(shù)據(jù)層模塊520和界面控制層模塊510中的傳遞與交互,只受控制層模塊530控制,控制層模塊530也只需按照邏輯控制列表進(jìn)行控制,因而可以保證數(shù)據(jù)管理、傳輸?shù)母咝浴?shù)據(jù)交互完成后,界面控制層模塊510僅根據(jù)更新后的數(shù)據(jù)對(duì)界面模塊進(jìn)行重新渲染,而不考慮原有數(shù)據(jù),以及界面模塊的原有框架和格式,使得應(yīng)用程序開(kāi)發(fā)的標(biāo)準(zhǔn)化更容易實(shí)現(xiàn)。
[0056]根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的控制裝置,通過(guò)建立實(shí)時(shí)的數(shù)據(jù)通道,建立實(shí)時(shí)與數(shù)據(jù)層交互的應(yīng)用程序,通過(guò)采用面向數(shù)據(jù)的編程方式,使一切業(yè)務(wù)邏輯及用戶(hù)操作均以操作數(shù)據(jù)對(duì)像為目的,則應(yīng)用程序開(kāi)發(fā)者不再需要設(shè)計(jì)維持?jǐn)?shù)據(jù)與界面統(tǒng)一的應(yīng)用程序框架,只需對(duì)業(yè)務(wù)邏輯所對(duì)應(yīng)的數(shù)據(jù)對(duì)象進(jìn)行描述并維護(hù),在應(yīng)用程序運(yùn)行時(shí),數(shù)據(jù)傳輸只基于更新數(shù)據(jù),減少了對(duì)于網(wǎng)絡(luò)帶寬的消耗,節(jié)省了時(shí)間。
[0057]如圖6所示,本發(fā)明第四方面實(shí)施例的應(yīng)用程序的控制方法,包括以下步驟:
[0058]S601:界面控制層向用戶(hù)顯示應(yīng)用程序的界面,并接收用戶(hù)對(duì)界面的輸入指令。
[0059]S602:界面控制層根據(jù)輸入指令生成界面事件,并將界面事件發(fā)送至控制層。
[0060]當(dāng)用戶(hù)對(duì)應(yīng)用程序的界面做出點(diǎn)擊、雙擊、拖拽等操作時(shí),界面控制層根據(jù)該操作生成界面事件,并將界面事件發(fā)送至控制層。
[0061]S603:控制層根據(jù)應(yīng)用程序?qū)?yīng)的邏輯控制列表和界面控制層發(fā)送的界面事件生成對(duì)應(yīng)的控制指令,并將對(duì)應(yīng)的控制指令發(fā)送至數(shù)據(jù)層。
[0062]其中,邏輯控制列表包括界面事件、控制指令和數(shù)據(jù)事件之間的邏輯關(guān)系。邏輯控制列表由應(yīng)用程序的開(kāi)發(fā)者面向應(yīng)用程序中業(yè)務(wù)邏輯對(duì)應(yīng)的數(shù)據(jù)進(jìn)行編寫(xiě)。
[0063]S604:數(shù)據(jù)層執(zhí)行控制指令以更新數(shù)據(jù)層中的數(shù)據(jù)。
[0064]S605:控制層根據(jù)更新的數(shù)據(jù)、邏輯控制列表和界面事件生成對(duì)應(yīng)的數(shù)據(jù)事件,并將數(shù)據(jù)事件發(fā)送至界面控制層。
[0065]S606:界面控制層根據(jù)數(shù)據(jù)事件對(duì)應(yīng)用程序的界面進(jìn)行對(duì)應(yīng)的控制操作。
[0066]具體的,界面控制層調(diào)用數(shù)據(jù)事件對(duì)應(yīng)的界面模板,然后,界面控制層根據(jù)數(shù)據(jù)事件對(duì)界面模板進(jìn)行重新渲染。界面控制層僅基于更新數(shù)據(jù)進(jìn)行重新渲染,而不考慮原有數(shù)據(jù),以及界面模塊的原有框架和格式,使得應(yīng)用程序開(kāi)發(fā)的標(biāo)準(zhǔn)化更容易實(shí)現(xiàn)。[0067]在本發(fā)明的一個(gè)實(shí)施例中,在用戶(hù)做出操作后,系統(tǒng)響應(yīng)并向用戶(hù)做出反饋的過(guò)程如圖7所:
[0068]S701:在界面控制層,用戶(hù)界面事件發(fā)生。
[0069]用戶(hù)界面設(shè)計(jì)時(shí),應(yīng)為用戶(hù)操作提供界面事件的模板,例如當(dāng)用戶(hù)進(jìn)行點(diǎn)擊某個(gè)按鈕或拖拽某個(gè)按鈕等操作時(shí),界面控制層對(duì)這些界面事件進(jìn)行捕捉。
[0070]S702:對(duì)界面事件進(jìn)行處理。
[0071]對(duì)界面事件進(jìn)行解析,解析過(guò)程按照開(kāi)發(fā)者預(yù)先編寫(xiě)的邏輯控制列表。例如當(dāng)用戶(hù)在瀏覽電子書(shū)按右方向鍵時(shí),解析為“看下一頁(yè)”。當(dāng)用戶(hù)點(diǎn)擊“發(fā)表回帖”的按鈕時(shí),把用戶(hù)在輸入框輸入的內(nèi)容解析為用戶(hù)的回帖內(nèi)容,并將該內(nèi)容作為更新數(shù)據(jù)上傳至服務(wù)器。
[0072]S703:檢測(cè)是否需要修改/更新數(shù)據(jù)對(duì)象。
[0073]根據(jù)界面事件的解析結(jié)果,在需要的時(shí)候,對(duì)數(shù)據(jù)對(duì)象進(jìn)行修改或更新。例如,在用戶(hù)A在某論壇的“音樂(lè)討論區(qū)”發(fā)表回帖后,如果判斷為用戶(hù)A不具有在該板塊發(fā)表回帖的權(quán)限,則返回出錯(cuò)提示;如果用戶(hù)A具有在該板塊發(fā)表回帖的權(quán)限,則需要建立“用戶(hù)A在音樂(lè)討論區(qū)的新回帖”這一數(shù)據(jù)對(duì)象。
[0074]S704:由數(shù)據(jù)對(duì)象發(fā)生數(shù)據(jù)事件。
[0075]例如,根據(jù)“用戶(hù)A在音樂(lè)討論區(qū)的新回帖”這一數(shù)據(jù)對(duì)象,觸發(fā)“在數(shù)據(jù)庫(kù)里音樂(lè)討論區(qū)的部分增加用戶(hù)A的回帖”的數(shù)據(jù)事件。
[0076]S705:對(duì)數(shù)據(jù)事件進(jìn)行處理。
[0077]處理過(guò)程中,可能會(huì)發(fā)生對(duì)其他的數(shù)據(jù)對(duì)象的修改。例如,假設(shè)該論壇具有了相應(yīng)功能,“在數(shù)據(jù)庫(kù)里音樂(lè)討論區(qū)的部分增加用戶(hù)A的回帖”這一數(shù)據(jù)事件,將會(huì)引發(fā)以下數(shù)據(jù)對(duì)象的修改或更新:將“音樂(lè)討論區(qū)”的“最新回復(fù)”修改為用戶(hù)A的回帖;為用戶(hù)A的論壇幣加I ;向所有設(shè)置“關(guān)注用戶(hù)A的發(fā)帖”的用戶(hù)發(fā)送提醒“您的朋友用戶(hù)A在音樂(lè)討論區(qū)發(fā)表了回復(fù)”。
[0078]S706:對(duì)界面對(duì)象進(jìn)行修改/更新。
[0079]根據(jù)對(duì)數(shù)據(jù)事件的處理結(jié)果,對(duì)用戶(hù)界面進(jìn)行修改或更新。例如,在用戶(hù)A在某論壇的“音樂(lè)討論區(qū)”發(fā)表回帖后,如果判斷為用戶(hù)A不具有在該板塊發(fā)表回帖的權(quán)限,則用戶(hù)界面顯示“對(duì)不起,您不具備在本討論區(qū)發(fā)表回復(fù)的權(quán)限”;如果用戶(hù)A具有在該板塊發(fā)表回帖的權(quán)限,則用戶(hù)界面向用戶(hù)顯示回帖已更新后的帖子。
[0080]根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的控制方法,通過(guò)建立實(shí)時(shí)的數(shù)據(jù)通道,建立實(shí)時(shí)與數(shù)據(jù)層交互的應(yīng)用程序,通過(guò)采用面向數(shù)據(jù)的編程方式,使一切業(yè)務(wù)邏輯及用戶(hù)操作均以操作數(shù)據(jù)對(duì)像為目的,則應(yīng)用程序開(kāi)發(fā)者不再需要設(shè)計(jì)維持?jǐn)?shù)據(jù)與界面統(tǒng)一的應(yīng)用程序框架,只需對(duì)業(yè)務(wù)邏輯所對(duì)應(yīng)的數(shù)據(jù)對(duì)象進(jìn)行描述并維護(hù),在應(yīng)用程序運(yùn)行時(shí),數(shù)據(jù)傳輸只基于更新數(shù)據(jù),減少了對(duì)于網(wǎng)絡(luò)帶寬的消耗,節(jié)省了時(shí)間。
[0081]流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn)其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0082]在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說(shuō)明書(shū)而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線(xiàn)的電連接部(電子裝置),便攜式計(jì)算機(jī)盤(pán)盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀存儲(chǔ)器(R0M),可擦除可編輯只讀存儲(chǔ)器(EPR0M或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤(pán)只讀存儲(chǔ)器(⑶ROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^(guò)對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來(lái)以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。
[0083]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門(mén)電路的離散邏輯電路,具有合適的組合邏輯門(mén)電路的專(zhuān)用集成電路,可編程門(mén)陣列(PGA),現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)等。
[0084]在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)所述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
[0085]盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
【權(quán)利要求】
1.一種應(yīng)用程序的開(kāi)發(fā)裝置,其特征在于,包括界面控制層模塊、數(shù)據(jù)層模塊和控制層模塊,其中,所述界面控制層模塊,用于控制應(yīng)用程序的界面;所述數(shù)據(jù)層模塊,用于存儲(chǔ)并維護(hù)所述應(yīng)用程序的數(shù)據(jù);所述控制層模塊,用于接收所述應(yīng)用程序的開(kāi)發(fā)者所生成的邏輯控制列表,并通過(guò)所述邏輯控制列表對(duì)所述界面控制層模塊和所述數(shù)據(jù)層模塊進(jìn)行控制,其中,所述邏輯控制列表包括所述應(yīng)用程序的界面與數(shù)據(jù)之間的邏輯關(guān)系。
2.如權(quán)利要求1所述的應(yīng)用程序的開(kāi)發(fā)裝置,其特征在于,所述邏輯控制列表包括界面事件、控制指令和數(shù)據(jù)事件之間的邏輯關(guān)系。
3.如權(quán)利要求2所述的應(yīng)用程序的開(kāi)發(fā)裝置,其特征在于,其中,所述界面控制層模塊和所述控制層模塊之間通過(guò)界面事件和數(shù)據(jù)事件進(jìn)行交互,所述控制層模塊通過(guò)所述控制指令對(duì)所述數(shù)據(jù)層模塊進(jìn)行控制,并監(jiān)測(cè)所述數(shù)據(jù)層模塊中數(shù)據(jù)的變動(dòng),以及根據(jù)所述數(shù)據(jù)層模塊中數(shù)據(jù)的變動(dòng)生成對(duì)應(yīng)的數(shù)據(jù)事件。
4.如權(quán)利要求1-3任一項(xiàng)所述的應(yīng)用程序的開(kāi)發(fā)裝置,其特征在于,所述邏輯控制列表由所述應(yīng)用程序的開(kāi)發(fā)者面向所述應(yīng)用程序中業(yè)務(wù)邏輯對(duì)應(yīng)的數(shù)據(jù)進(jìn)行編寫(xiě)。
5.一種應(yīng)用程序的開(kāi)發(fā)方法,其特征在于,包括以下步驟:接收開(kāi)發(fā)者發(fā)送的應(yīng)用程序的界面模板、數(shù)據(jù)和邏輯控制列表;分別將所述界面模板、數(shù)據(jù)`和邏輯控制列表發(fā)送至界面控制層、數(shù)據(jù)層和控制層;所述控制層根據(jù)所述應(yīng)用程序的初始狀態(tài)控制所述界面控制層顯示初始界面;以及所述控制層通過(guò)所述邏輯控制列表對(duì)所述界面控制層和所述數(shù)據(jù)層進(jìn)行控制,其中,所述邏輯控制列表包括所述應(yīng)用程序的界面與數(shù)據(jù)之間的邏輯關(guān)系。
6.如權(quán)利要求5所述的應(yīng)用程序的開(kāi)發(fā)方法,其特征在于,所述邏輯控制列表包括界面事件、控制指令和數(shù)據(jù)事件之間的邏輯關(guān)系。
7.如權(quán)利要求6所述的應(yīng)用程序的開(kāi)發(fā)方法,其特征在于,其中,所述界面控制層和所述控制層之間通過(guò)界面事件和數(shù)據(jù)事件進(jìn)行交互,所述控制層通過(guò)所述控制指令對(duì)所述數(shù)據(jù)層進(jìn)行控制,并監(jiān)測(cè)所述數(shù)據(jù)層中數(shù)據(jù)的變動(dòng),以及根據(jù)所述數(shù)據(jù)層中數(shù)據(jù)的變動(dòng)生成對(duì)應(yīng)的數(shù)據(jù)事件。
8.如權(quán)利要求5-7任一項(xiàng)所述的應(yīng)用程序的開(kāi)發(fā)方法,其特征在于,所述邏輯控制列表由所述應(yīng)用程序的開(kāi)發(fā)者面向所述應(yīng)用程序中業(yè)務(wù)邏輯對(duì)應(yīng)的數(shù)據(jù)進(jìn)行編寫(xiě)。
9.一種應(yīng)用程序的控制裝置,其特征在于,包括界面控制層模塊、數(shù)據(jù)層模塊和控制層模塊,其中,所述界面控制層模塊,用于控制應(yīng)用程序的界面,接收用戶(hù)對(duì)所述界面的輸入指令并根據(jù)所述輸入指令生成界面事件,以及根據(jù)所述控制層模塊生成的數(shù)據(jù)事件對(duì)所述應(yīng)用程序的界面進(jìn)行對(duì)應(yīng)的控制操作;所述數(shù)據(jù)層模塊,用于存儲(chǔ)并維護(hù)所述應(yīng)用程序的數(shù)據(jù),并根據(jù)所述控制層模塊的控制指令對(duì)所述數(shù)據(jù)進(jìn)行對(duì)應(yīng)的控制操作;所述控制層模塊,用于根據(jù)所述應(yīng)用程序?qū)?yīng)的邏輯控制列表和所述界面控制層模塊發(fā)送的界面事件生成對(duì)應(yīng)的控制指令,并將所述對(duì)應(yīng)的控制指令發(fā)送至所述數(shù)據(jù)層模塊,以及根據(jù)所述邏輯控制列表和所述界面事件生成對(duì)應(yīng)的數(shù)據(jù)事件,并將所述數(shù)據(jù)事件發(fā)送至所述界面控制層模塊。
10.如權(quán)利要求9所述的應(yīng)用程序的控制裝置,其特征在于,所述邏輯控制列表包括界面事件、控制指令和數(shù)據(jù)事件之間的邏輯關(guān)系。
11.如權(quán)利要求9或10所述的應(yīng)用程序的控制裝置,其特征在于,所述數(shù)據(jù)事件包括所述數(shù)據(jù)層模塊根據(jù)所述控制指令生成的更新數(shù)據(jù),所述界面控制層模塊根據(jù)所述更新數(shù)據(jù)對(duì)預(yù)存的界面模板進(jìn)行重新渲染。
12.如權(quán)利要求9-11任一項(xiàng)所述的應(yīng)用程序的控制裝置,其特征在于,所述邏輯控制列表由所述應(yīng)用程序的開(kāi)發(fā)者面向所述應(yīng)用程序中業(yè)務(wù)邏輯對(duì)應(yīng)的數(shù)據(jù)進(jìn)行編寫(xiě)。
13.如權(quán)利要求9-12任一項(xiàng)所述的應(yīng)用程序的控制裝置,其特征在于,所述控制裝置運(yùn)行在云端服務(wù)器和客戶(hù)端。
14.一種應(yīng)用程序的控制方法,其特征在于,包括以下步驟:界面控制層向用戶(hù)顯示應(yīng)用程序的界面,并接收用戶(hù)對(duì)所述界面的輸入指令;所述界面控制層根據(jù)所述輸入指令生成界面事件,并將所述界面事件發(fā)送至控制層; 所述控制層根據(jù)所述應(yīng)用程序?qū)?yīng)的邏輯控制列表和所述界面控制層發(fā)送的界面事件生成對(duì)應(yīng)的控制指令,并將所述對(duì)應(yīng)的控制指令發(fā)送至所述數(shù)據(jù)層;所述數(shù)據(jù)層執(zhí)行所述控制指令以更新所述數(shù)據(jù)層中的數(shù)據(jù);所述控制層根據(jù)所述更新的數(shù)據(jù)、所述邏輯控制列表和所述界面事件生成對(duì)應(yīng)的數(shù)據(jù)事件,并將所述數(shù)據(jù)事件發(fā)送至所述界面控制層;以及所述界面控制層根據(jù)所述數(shù)據(jù)事件對(duì)所述應(yīng)用程序的界面進(jìn)行對(duì)應(yīng)的控制操作。
15.如權(quán)利要求14所述的應(yīng)用程序的控制方法,其特征在于,所述邏輯控制列表包括界面事件、控制指令和數(shù)據(jù)事件之間的邏輯關(guān)系。
16.如權(quán)利要求14或15所述的應(yīng)用程序的控制方法,其特征在于,所述界面控制層根據(jù)所述數(shù)據(jù)事件對(duì)所述應(yīng)用程序的界面進(jìn)行對(duì)應(yīng)的控制操作進(jìn)一步包括:所述界面控制層調(diào)用所述數(shù)據(jù)事件對(duì)應(yīng)的界面模板;所述界面控制層根據(jù)所述數(shù)據(jù)事件對(duì)所述界面模板進(jìn)行重新渲染。
17.如權(quán)利要求14-16任一項(xiàng)所述的應(yīng)用程序的控制方法,其特征在于,所述邏輯控制列表由所述應(yīng)用程序的開(kāi)發(fā)者面向所述應(yīng)用程序中業(yè)務(wù)邏輯對(duì)應(yīng)的數(shù)據(jù)進(jìn)行編寫(xiě)。
【文檔編號(hào)】H04L29/08GK103605499SQ201210421531
【公開(kāi)日】2014年2月26日 申請(qǐng)日期:2012年10月29日 優(yōu)先權(quán)日:2012年10月29日
【發(fā)明者】林仕鼎, 童遙, 柳俊中, 黎科峰, 朱倩, 王骕 申請(qǐng)人:百度在線(xiàn)網(wǎng)絡(luò)技術(shù)(北京)有限公司