本發(fā)明涉及解決差異化視圖技術(shù)領(lǐng)域,具體地,涉及一種通過視圖化模板解決頁面差異化的裝置及方法。
背景技術(shù):
在數(shù)據(jù)的可視化視圖呈現(xiàn)中,同層級資源對象的需求存在一定的差異化內(nèi)容。微小的、可預(yù)判的差異可以通過業(yè)務(wù)代碼邏輯實(shí)現(xiàn);若從布局到內(nèi)容都迥然不同,使用統(tǒng)一的基礎(chǔ)框架和業(yè)務(wù)邏輯代碼處理,則隨著待描述的資源對象增多,維護(hù)成本劇增,擴(kuò)展性也存在很多弊端。使用統(tǒng)一視圖框架,需要針對具體實(shí)體分別處理,造成業(yè)務(wù)需求與視圖過于耦合,繁雜的業(yè)務(wù)代碼不容易維護(hù)和擴(kuò)展;若采用實(shí)體類型的插件式頁面,可以滿足多樣化需求,但局部高重復(fù)度的內(nèi)容會(huì)造成代碼冗余,而且不斷變更的業(yè)務(wù)需求會(huì)隨著類型數(shù)量加倍維護(hù)成本。通常,可視化差異視圖需求具有以下幾個(gè)特點(diǎn):局部內(nèi)容相近,重復(fù)度高;有特殊視圖;布局靈活多變。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于,針對上述問題,提出一種通過視圖化模板解決頁面差異化的裝置及方法,以實(shí)現(xiàn)在描述同層級的資源時(shí),面對繁復(fù)的可視化視圖呈現(xiàn),無需進(jìn)行復(fù)雜的頁面邏輯處理和事件綁定,也不用擔(dān)心后期反復(fù)的需求調(diào)整帶來的維護(hù)成本,基于視圖模板的配置策略來實(shí)例化頁面,可重用獨(dú)立封裝的視圖節(jié)點(diǎn)。基于“模板方法”模式,統(tǒng)一的模板控制器對頁面及事件進(jìn)行獨(dú)立封裝,對配置策略進(jìn)行解析,控制頁面布局及異步數(shù)據(jù)加載,處理事件綁定或解綁,避免事件泄露,使可視化過程高效快捷。
為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:一種通過視圖化模板解決頁面差異化的裝置,主要包括:模板控制器,控制頁面結(jié)構(gòu)和布局的生成,具體包括解析視圖模板配置信息,組織頁面的頁簽結(jié)構(gòu),并對頁面內(nèi)視圖進(jìn)行視圖布局控制,進(jìn)行視圖加載;
復(fù)雜視圖預(yù)置庫,提供可共重用的較復(fù)雜視圖的實(shí)現(xiàn)方式;
基礎(chǔ)視圖控制器,對基本數(shù)據(jù)結(jié)構(gòu)進(jìn)行組件化視圖生成的過程進(jìn)行控制;
基礎(chǔ)視圖組件,提供基礎(chǔ)視圖的實(shí)現(xiàn)過程;
數(shù)據(jù)處理器,對數(shù)據(jù)進(jìn)行清洗。
進(jìn)一步地,所述基礎(chǔ)視圖組件具有擴(kuò)展性,且包括已預(yù)置的表格視圖組件、文本視圖組件、曲線視圖組件、面積視圖組件、柱狀視圖組件、餅狀圖組件、熱點(diǎn)圖組件和堆積圖組件。
進(jìn)一步地,所述數(shù)據(jù)處理器對數(shù)據(jù)進(jìn)行清洗包括,數(shù)據(jù)類型校驗(yàn)、均值最值計(jì)算、小數(shù)點(diǎn)位處理、頁面元素id生成和時(shí)間格式處理。
進(jìn)一步地,頁面視圖中的內(nèi)容為獨(dú)立封裝,形成多個(gè)視圖,多個(gè)視圖形成一個(gè)大視圖,多個(gè)大視圖對資源對象進(jìn)行多維度描述,所述多個(gè)視圖和多個(gè)大視圖形成“視圖樹”;
所述視圖模板含有一組視圖配置信息,定義視圖的實(shí)現(xiàn)和布局信息,所述視圖模板與大視圖進(jìn)行對應(yīng)。
通過視圖化模板解決差異化頁面的方法,其特征在于包括:
步驟1:開始生成頁面,讀取視圖模板配置文件;
步驟2:模板控制器首先解析視圖模板配置文件,組織生成頁簽頁面,一個(gè)視圖模板對應(yīng)一個(gè)頁面描述,即生成一個(gè)頁簽;然后對當(dāng)前頁面對應(yīng)的視圖模板配置文件進(jìn)行解析,得到頁面的視圖配置,根據(jù)視圖配置進(jìn)行視圖的布局控制;
步驟3:根據(jù)視圖配置信息,判斷該視圖實(shí)現(xiàn)的方式,若為基礎(chǔ)視圖,則通過基礎(chǔ)視圖控制器根據(jù)配置信息實(shí)例化組件生成視圖,并執(zhí)行步驟4;若為復(fù)雜視圖庫,則直接執(zhí)行步驟4;
步驟4:整個(gè)頁面的各視圖異步加載,完成頁面的實(shí)例化過程。
進(jìn)一步地,在步驟1中讀取視圖模板配置文件之前還包括,判斷所要呈現(xiàn)的資源,即頁面的所有視圖,是否在復(fù)雜視圖預(yù)置庫或是否可以通過基礎(chǔ)視圖控制器生成,如果是,則對該資源配置一個(gè)視圖模板文件,通過定義視圖類型及參數(shù),描述視圖的實(shí)例化內(nèi)容完成對視圖的配置,所述視圖類型為復(fù)雜視圖庫或基礎(chǔ)視圖;
如果所要呈現(xiàn)的頁面的所有視圖,不被復(fù)雜視圖庫包含或不能通過基礎(chǔ)視圖控制器生成,則自定義該視圖,并在視圖模板中進(jìn)行配置,實(shí)現(xiàn)可擴(kuò)展使用。
進(jìn)一步地,頁面視圖中的內(nèi)容為獨(dú)立封裝,形成多個(gè)視圖,多個(gè)視圖形成一個(gè)大視圖,多個(gè)大視圖對資源對象進(jìn)行多維度描述,所述多個(gè)視圖和多個(gè)大視圖形成“視圖樹”;
所述視圖模板含有一個(gè)頁簽頁面內(nèi)包含的全部視圖配置信息,定義視圖的實(shí)現(xiàn)和布局信息,所述視圖模板與大視圖進(jìn)行對應(yīng)。
本發(fā)明各實(shí)施例的一種通過視圖化模板解決頁面差異化的裝置及方法,由于主要包括:視圖模板化方案,采用模板控制器進(jìn)行模板配置解析,進(jìn)行視圖布局,視圖實(shí)現(xiàn)分為復(fù)雜視圖庫和基礎(chǔ)視圖控制器,公共的視圖作為復(fù)雜視圖庫存在,基本的視圖通過基礎(chǔ)視圖控制器結(jié)合組件來實(shí)現(xiàn);從而可以克服現(xiàn)有技術(shù)中在數(shù)據(jù)的可視化視圖呈現(xiàn)中,同層級資源對象的需求存在一定的差異化內(nèi)容。微小的、可預(yù)判的差異可以通過業(yè)務(wù)代碼邏輯實(shí)現(xiàn);若從布局到內(nèi)容都迥然不同,使用統(tǒng)一的基礎(chǔ)框架和業(yè)務(wù)邏輯代碼處理,則隨著待描述的資源對象增多,維護(hù)成本劇增,擴(kuò)展性也存在很多弊端。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。
下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說明
附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為本發(fā)明具體實(shí)施方式所述的一種通過視圖化模板解決頁面差異化的裝置及方法中現(xiàn)有技術(shù)差異化視圖呈現(xiàn)的缺陷圖;
圖2為本發(fā)明具體實(shí)施方式所述的一種通過視圖化模板解決頁面差異化的裝置的結(jié)構(gòu)流程圖;
圖3為本發(fā)明具體實(shí)施方式所述的一種通過視圖化模板解決頁面差異化的方法流程圖;
圖4為本發(fā)明具體實(shí)施方式所述的一種通過視圖化模板解決頁面差異化的裝置及方法描述的視圖樹;
圖5為本發(fā)明具體實(shí)施方式所述的一種通過視圖化模板解決頁面差異化的裝置及方法描述的基于視圖配置的視圖控制原理圖;
圖6為本發(fā)明具體實(shí)施方式所述的一種通過視圖化模板解決頁面差異化的裝置及方法描述的可視化模板及頁面對應(yīng)圖;
圖7為本發(fā)明具體實(shí)施方式所述的一種通過視圖化模板解決頁面差異化的裝置及方法描述的應(yīng)用于系統(tǒng)的展現(xiàn)圖;
圖8為本發(fā)明具體實(shí)施方式所述的一種通過視圖化模板解決頁面差異化的裝置及方法描述的視圖樹對比圖。
具體實(shí)施方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
具體地,一種通過視圖化模板解決頁面差異化的裝置,主要包括:模板控制器,控制頁面結(jié)構(gòu)和布局的生成,具體包括解析視圖模板配置信息,組織頁面的頁簽結(jié)構(gòu),并對頁面內(nèi)視圖進(jìn)行視圖布局控制,進(jìn)行視圖加載;
復(fù)雜視圖預(yù)置庫,提供公共視圖的實(shí)現(xiàn)過程;
基礎(chǔ)視圖控制器,對基本數(shù)據(jù)結(jié)構(gòu)進(jìn)行組件化視圖生成的過程進(jìn)行控制;
基礎(chǔ)視圖組件,提供基礎(chǔ)視圖的實(shí)現(xiàn)過程;
數(shù)據(jù)處理器,對數(shù)據(jù)進(jìn)行清洗。
所述基礎(chǔ)視圖組件具有擴(kuò)展性,且包括已預(yù)置的表格視圖組件、文本視圖組件、曲線視圖組件、面積視圖組件、柱狀視圖組件、餅狀圖組件、熱點(diǎn)圖組件和堆積圖組件。
所述數(shù)據(jù)處理器對數(shù)據(jù)進(jìn)行清洗包括,數(shù)據(jù)類型校驗(yàn)、均值最值計(jì)算、小數(shù)點(diǎn)位處理、頁面元素id生成和時(shí)間格式處理。
頁面視圖中的內(nèi)容為獨(dú)立封裝,形成多個(gè)視圖,多個(gè)視圖形成一個(gè)大視圖,多個(gè)大視圖對資源對象進(jìn)行多維度描述,所述多個(gè)視圖和多個(gè)大視圖形成“視圖樹”;
所述視圖模板含有一組視圖配置信息,定義視圖的實(shí)現(xiàn)和布局信息,所述視圖模板與大視圖進(jìn)行對應(yīng)。
通過視圖化模板解決差異化頁面的方法,其特征在于包括:
步驟1:開始生成頁面,讀取視圖模板配置文件;
步驟2:模板控制器首先解析視圖模板配置文件,組織生成頁簽頁面,一個(gè)視圖模板對應(yīng)一個(gè)頁面描述,即生成一個(gè)頁簽;然后對當(dāng)前頁面對應(yīng)的視圖模板配置文件進(jìn)行解析,得到頁面的視圖配置,根據(jù)視圖配置進(jìn)行視圖的布局控制;
步驟3:根據(jù)視圖配置信息,判斷該視圖實(shí)現(xiàn)的方式,若為基礎(chǔ)視圖,則通過基礎(chǔ)視圖控制器根據(jù)配置信息實(shí)例化組件生成視圖,并執(zhí)行步驟4;若為復(fù)雜視圖庫,則直接執(zhí)行步驟4;
步驟4:整個(gè)頁面的各視圖異步加載,完成頁面的實(shí)例化過程。
在步驟1中讀取視圖模板配置文件之前還包括,判斷所要呈現(xiàn)的資源,即頁面的所有視圖,是否在復(fù)雜視圖預(yù)置庫或是否可以通過基礎(chǔ)視圖控制器生成,如果是,則對該資源配置一個(gè)視圖模板文件,通過定義視圖類型及參數(shù),描述視圖的實(shí)例化內(nèi)容完成對視圖的配置,所述視圖類型為復(fù)雜視圖庫或基礎(chǔ)視圖;
如果所要呈現(xiàn)的頁面的所有視圖,不被復(fù)雜視圖庫包含或不能通過基礎(chǔ)視圖控制器生成,則自定義該視圖,并在視圖模板中進(jìn)行配置,實(shí)現(xiàn)可擴(kuò)展使用。
頁面視圖中的內(nèi)容為獨(dú)立封裝,形成多個(gè)視圖,多個(gè)視圖形成一個(gè)大視圖,多個(gè)大視圖對資源對象進(jìn)行多維度描述,所述多個(gè)視圖和多個(gè)大視圖形成“視圖樹”;
所述視圖模板含有一個(gè)頁簽頁面內(nèi)包含的全部視圖配置信息,定義視圖的實(shí)現(xiàn)和布局信息,所述視圖模板與大視圖進(jìn)行對應(yīng)。
本發(fā)明可應(yīng)用于差異化頁面需求場景,通過簡單的模板配置,實(shí)現(xiàn)視圖的獨(dú)立封裝及靈活組合呈現(xiàn)。視圖模板化方案可以有效降低頁面邏輯復(fù)雜度,提高頁面重用性和擴(kuò)展性。本發(fā)明是基于視圖的模板配置,生成一棵“視圖樹”,樹的節(jié)點(diǎn)是獨(dú)立封裝的視圖,從而滿足差異化需求并突出視覺層次,實(shí)現(xiàn)節(jié)點(diǎn)重用。
結(jié)合圖1,在數(shù)據(jù)的可視化視圖呈現(xiàn)中,同層級資源對象的需求存在一定的差異化內(nèi)容。微小的、可預(yù)判的差異可以通過業(yè)務(wù)代碼邏輯實(shí)現(xiàn);若從布局到內(nèi)容都迥然不同,使用統(tǒng)一的基礎(chǔ)框架和業(yè)務(wù)邏輯代碼處理,則隨著待描述的資源對象增多,維護(hù)成本劇增,擴(kuò)展性也存在很多弊端。
結(jié)合圖2,本發(fā)明所設(shè)計(jì)的方案主要由:
(1) 模板控制器。即解析視圖模板配置信息,組織頁面的頁簽結(jié)構(gòu),并對頁面內(nèi)視圖進(jìn)行視圖布局控制,進(jìn)行視圖加載。
(2) 復(fù)雜視圖庫。即提取的公共的視圖實(shí)現(xiàn)。
(3) 基礎(chǔ)視圖控制器。即對基本數(shù)據(jù)結(jié)構(gòu)進(jìn)行組件化視圖生成的過程。
(4) 基礎(chǔ)視圖組件。用于提供基礎(chǔ)視圖的實(shí)現(xiàn)方案,已預(yù)置表格視圖、文本視圖、曲線視圖、面積視圖、柱狀視圖、餅狀圖、熱點(diǎn)圖、堆積圖等組件,支持?jǐn)U展。
(5) 數(shù)據(jù)處理器。通過該數(shù)據(jù)處理器,對數(shù)據(jù)進(jìn)行清洗,包括數(shù)據(jù)類型校驗(yàn)、均值最值計(jì)算、小數(shù)點(diǎn)位處理、頁面元素id生成、時(shí)間格式處理等。
結(jié)合圖3,視圖模板工作流程圖如圖表3所示。開始生成頁面時(shí),讀取視圖模板配置文件:
首先,模板控制器對輸入的視圖模板文件進(jìn)行解析,組織生成頁簽頁面,一個(gè)視圖模板對應(yīng)一個(gè)頁面描述,即生成一個(gè)頁簽;
其次,模板控制器對當(dāng)前頁面對應(yīng)的模板文件進(jìn)行解析,根據(jù)視圖配置進(jìn)行視圖的布局控制;
然后,根據(jù)視圖配置信息,判斷該視圖實(shí)現(xiàn)的方式,若為基礎(chǔ)視圖則通過基礎(chǔ)視圖控制器進(jìn)行頁面生成,若為復(fù)雜視圖庫,則進(jìn)行相應(yīng)的頁面加載;
最后,整個(gè)頁面的各視圖異步加載,完成頁面的實(shí)例化過程。
結(jié)合圖4,在整個(gè)流程中,視圖內(nèi)容是獨(dú)立進(jìn)行封裝的,形成多個(gè)VIEW,多個(gè)VIEW形成VIEW GROUP,即一個(gè)大視圖,多個(gè)大視圖可構(gòu)成對資源對象的多維度描述。從根頁面來看,類似一個(gè)“視圖樹”結(jié)構(gòu)。
視圖模板,即View Template,與上圖中的VIEW GROUP對應(yīng),含有一組視圖配置,
定義了視圖的實(shí)現(xiàn)和布局等信息。
多個(gè)視圖模板是對資源對象的多維度描述,體現(xiàn)為多頁簽頁面。
視圖,即View, 視圖模板決定了頁面的組織布局,視圖配置的實(shí)例化是具體內(nèi)容的實(shí)現(xiàn)。VIEW視圖節(jié)點(diǎn)的實(shí)現(xiàn)方式如圖5所示。
用戶使用該視圖模板方案進(jìn)行頁面呈現(xiàn)的時(shí)候,只需要進(jìn)行以下配置即可靈活實(shí)現(xiàn):
情況一:若所要呈現(xiàn)的頁面所有視圖,均包含在視圖庫中或通過基礎(chǔ)視圖控制器可生成,即只需要對該資源配置一個(gè)視圖模板文件,對視圖進(jìn)行對應(yīng)的配置即可完成;
情況二:若呈現(xiàn)的某視圖不能通過基礎(chǔ)控制器生成,內(nèi)置的復(fù)雜視圖庫也沒有,則可以自定義該視圖,并在模板中進(jìn)行配置,即可擴(kuò)展使用。
滿足任意上述兩種情況,用戶即可以調(diào)用如圖表3所示的工作流程。
將本發(fā)明的方案應(yīng)用于用戶可視化界面,視圖模板和生成效果對比圖如圖6所示。
應(yīng)用于系統(tǒng)展現(xiàn)效果圖如圖表7,8所示,視圖模板化方案既可以滿足多樣化的可視化需求,又可以避免視圖冗余,便于后期的維護(hù)和擴(kuò)展。
如圖表7所示,兩個(gè)大視圖中,部分視圖VIEW1、VIEW4為復(fù)雜視圖,來自是視圖庫,VIEW3是基礎(chǔ)視圖。
轉(zhuǎn)化為視圖樹,如圖表8。維護(hù)成本為:兩個(gè)VIEW GROUP及視圖模板文件和VIEW1、2、4三個(gè)復(fù)雜視圖,一個(gè)基礎(chǔ)視圖控制器。
可以看出,視圖模板化方案遵循“重分解以一般化”的原則,視圖的重用和擴(kuò)展都能得到解決。并且多個(gè)模板展開對資源描述,模板控制器對各模板進(jìn)行組織,具體模板中的視圖實(shí)例化則由視圖控制器完成。
視圖模板方案的特點(diǎn):
1.支持模板的視圖編輯——提供在線編輯模板模塊,支持在線編輯配置;
2.支持模板的新增和刪除——通過模板的新增或刪除可以加強(qiáng)資源的可視化描述,使層次維度更明確;
3.支持模板的分享——從模板維度加強(qiáng)了重用性。
以上特點(diǎn)決定資源對象的多維度描述具備絕對的靈活多樣和自定義擴(kuò)展。對可視化需求的實(shí)現(xiàn)適用廣泛。
本發(fā)明的目的旨在設(shè)計(jì)一種適用于差異化視圖需求場景的視圖模板方案。對頁面內(nèi)包含的視圖進(jìn)行獨(dú)立封裝,采用模板化的方式自由組合信息架構(gòu),達(dá)到滿足需求和突出視覺層次的目的。
這種方案的實(shí)現(xiàn),在描述同層級的資源時(shí),面對繁復(fù)的可視化視圖呈現(xiàn),無需進(jìn)行復(fù)雜的頁面邏輯處理和事件綁定,也不用擔(dān)心后期反復(fù)的需求調(diào)整帶來的維護(hù)成本,基于視圖模板的配置策略來實(shí)例化頁面,可重用獨(dú)立封裝的視圖節(jié)點(diǎn)?;凇澳0宸椒ā蹦J?,統(tǒng)一的模板控制器對頁面及事件進(jìn)行獨(dú)立封裝,對配置策略進(jìn)行解析,控制頁面布局及異步數(shù)據(jù)加載,處理事件綁定或解綁,避免事件泄露,使可視化過程高效快捷。
最后應(yīng)說明的是:以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,對于本領(lǐng)域的技術(shù)人員來說,其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。