亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        界面元素與數(shù)據(jù)對(duì)象之間的數(shù)據(jù)交換技術(shù)研究

        2013-07-25 02:28:50張文江何政偉李旭龍
        關(guān)鍵詞:頁(yè)面按鈕界面

        張文江,何政偉,李旭龍

        (1.成都理工大學(xué)地質(zhì)災(zāi)害防治與地質(zhì)環(huán)境保護(hù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,四川成都610059;2.成都理工大學(xué)地球物理學(xué)院,四川成都610059)

        0 引言

        數(shù)據(jù)采集實(shí)現(xiàn)屏幕顯示元素?cái)?shù)據(jù)到數(shù)據(jù)對(duì)象屬性的轉(zhuǎn)換,而數(shù)據(jù)顯示則實(shí)現(xiàn)數(shù)據(jù)對(duì)象屬性到屏幕顯示元素?cái)?shù)據(jù)的轉(zhuǎn)換,二者統(tǒng)稱界面元素與數(shù)據(jù)對(duì)象之間的數(shù)據(jù)交換。界面元素與數(shù)據(jù)對(duì)象之間的數(shù)據(jù)交換是各類系統(tǒng)的普遍功能,當(dāng)前有多種技術(shù)模式實(shí)現(xiàn)這些功能,比如“拷貝—粘貼—修改”模式、基于框架的模式、基于委托與事件方法的技術(shù)等。對(duì)于數(shù)據(jù)項(xiàng)少、界面簡(jiǎn)單的系統(tǒng),可以采用“拷貝—粘貼—修改”的編程模式;典型的框架,如Struts、Spring,都提供了表現(xiàn)層 (界面)和業(yè)務(wù)層 (數(shù)據(jù)對(duì)象)之間的自動(dòng)數(shù)據(jù)交換功能,并被廣泛用于Web系統(tǒng)的開(kāi)發(fā)[1-3];也有采用基于委托與事件方法的數(shù)據(jù)交換模式系統(tǒng)[4],但這類系統(tǒng)比較少。上述這些方法都具有比較大的局限性:在人機(jī)交互界面復(fù)雜、屏幕顯示的數(shù)據(jù)項(xiàng)很多的情況下,“拷貝—粘貼—修改”模式產(chǎn)生的代碼冗長(zhǎng)、相似度高,造成程序調(diào)試疲勞,隱含錯(cuò)誤難于發(fā)現(xiàn),調(diào)試、維護(hù)工作量大;而struts、spring是基于web系統(tǒng)的,不支持winform,另外,對(duì)單選、多選等復(fù)雜數(shù)據(jù)項(xiàng),struts、spring的支持較弱;基于委托與事件的方法太過(guò)復(fù)雜。

        基于反射技術(shù)實(shí)現(xiàn)數(shù)據(jù)交換的公共函數(shù),各個(gè)窗體界面通過(guò)對(duì)公共函數(shù)的調(diào)用,完成winfrom窗體或web頁(yè)面的顯示界面元素與數(shù)據(jù)對(duì)象之間的數(shù)據(jù)交換。這種方法能夠極大減少?gòu)?fù)雜界面在數(shù)據(jù)顯示、數(shù)據(jù)修改方面的程序代碼,減少程序調(diào)試工作量,提高工作效率,提高系統(tǒng)的可靠性。

        1 實(shí)現(xiàn)原理

        反射是本文提出的數(shù)據(jù)交換技術(shù)的基礎(chǔ),下面先從反射的概念開(kāi)始。

        1.1 反射 (reflection)的概念

        反射就是程序在運(yùn)行時(shí)刻能夠查詢類型的信息,包括類型狀態(tài) (屬性)、類型行為 (方法)、事件、構(gòu)造函數(shù)等信息。它本質(zhì)上是分析程序集中的元數(shù)據(jù)表的過(guò)程,發(fā)現(xiàn)程序集的類型和類型成員的信息[4]。它是一種晚綁定機(jī)制,程序員在寫代碼的時(shí)候還不知道或不能確定的一些信息,由代碼在運(yùn)行的時(shí)候確定。當(dāng)前軟件開(kāi)發(fā)的兩大體系,Java和.Net都具有強(qiáng)大的Reflection機(jī)制,并且得到了廣泛的應(yīng)用[5-10]。

        下面以一個(gè)簡(jiǎn)單的例子,說(shuō)明反射的基本思想。設(shè)系統(tǒng)中有一個(gè)StudentClass類,其定義如圖1所示。

        圖1 學(xué)生類

        對(duì)象obj是程序運(yùn)行過(guò)程中自動(dòng)生成的,其類型在編譯的時(shí)候未知,所以程序代碼不知道obj的屬性、方法,也就不能直接訪問(wèn)obj的屬性和方法。但是程序在運(yùn)行時(shí)通過(guò)反射可以獲得obj的類型、屬性、方法等信息,通過(guò)屬性和方法的名稱實(shí)現(xiàn)對(duì)obj的管理。如果obj的類型為Student-Class,就可以通過(guò) StudentClass類的屬性名稱“No”、“Name”讀寫obj的No屬性值,通過(guò)“GetAge”方法訪問(wèn)obj的GetAge函數(shù),獲得學(xué)生的年齡信息。

        1.2 數(shù)據(jù)交換原理

        由于本文實(shí)現(xiàn)的系統(tǒng)是基于C#的B/S系統(tǒng),因此,本文提供的算法將以基于C#語(yǔ)言的Asp.Net為例,實(shí)現(xiàn)Web頁(yè)面可視控件與C#數(shù)據(jù)對(duì)象之間的數(shù)據(jù)交換。數(shù)據(jù)庫(kù)中的數(shù)據(jù)與可視控件之間的數(shù)據(jù)交換問(wèn)題,可用類似的方式實(shí)現(xiàn),或者通過(guò)建立數(shù)據(jù)庫(kù)記錄與C#數(shù)據(jù)對(duì)象之間的映射關(guān)系,實(shí)現(xiàn)數(shù)據(jù)庫(kù)記錄與C#數(shù)據(jù)對(duì)象、C#數(shù)據(jù)對(duì)象與可視控件之間的雙層數(shù)據(jù)交換。

        ASP.Net頁(yè)面對(duì)象,不管是標(biāo)準(zhǔn)的HTML對(duì)象,還是Asp.net封裝對(duì)象,只要加上Runat=Server,C#代碼就能訪問(wèn)該控件的屬性,在系統(tǒng)運(yùn)行的過(guò)程中動(dòng)態(tài)獲取頁(yè)面控件類型、對(duì)象嵌套關(guān)系等信息。實(shí)際上,C#能夠全面操控整個(gè)ASP.Net文檔:遍歷整個(gè)DOM文檔,并對(duì)DOM文檔的任意對(duì)象進(jìn)行控制。

        另一方面,對(duì)于C#數(shù)據(jù)對(duì)象,采用反射技術(shù),按封裝的原則,通過(guò)屬性的getter、setter方法,實(shí)現(xiàn)屬性字段值的讀、寫操作。

        由此可見(jiàn),ASP.Net頁(yè)面特點(diǎn)和C#反射技術(shù),為頁(yè)面元素與數(shù)據(jù)對(duì)象屬性之間的數(shù)據(jù)交換提供了可能。關(guān)鍵是如何在頁(yè)面元素與數(shù)據(jù)對(duì)象之間建立起通信的橋梁。

        本文使用“名稱關(guān)聯(lián)法”建立頁(yè)面控件與數(shù)據(jù)對(duì)象屬性之間的關(guān)聯(lián),使Web頁(yè)面可視控件的ID與數(shù)據(jù)對(duì)象屬性名稱相同 (或者其它類似的規(guī)則),從而建立起它們之間的對(duì)應(yīng)關(guān)系。程序在遍歷Web頁(yè)面可視控件的時(shí)候,根據(jù)可視控件的ID,找到數(shù)據(jù)對(duì)象的屬性名稱,再通過(guò)C#提供的反射機(jī)制,查詢數(shù)據(jù)對(duì)象該屬性的相關(guān)信息,讀取、或設(shè)置該屬性的值,從而實(shí)現(xiàn)可視控件顯示值與數(shù)據(jù)對(duì)象屬性值之間的相互數(shù)據(jù)交換。

        圖2是這種基于名稱對(duì)應(yīng)關(guān)系的簡(jiǎn)化圖示說(shuō)明,其中界面元素ID=Property1對(duì)應(yīng)類ObjectClass的屬性Property1,界面元素ID=Property2對(duì)應(yīng)類ObjectClass的屬性Property2,界面元素 ID=Property3對(duì)應(yīng)類ObjectClass的屬性Property3。

        圖2 基于名稱對(duì)應(yīng)的顯示元素與數(shù)據(jù)對(duì)象關(guān)系

        2 實(shí)現(xiàn)算法

        在闡述原理后,下面首先詳細(xì)分析各種顯示控件的處理方法,然后給出實(shí)現(xiàn)算法。

        2.1 典型顯示控件處理規(guī)則

        (1)簡(jiǎn)單控件

        簡(jiǎn)單控件是指直接顯示數(shù)據(jù)屬性值的控件,這類控件使用最廣,如TextBox、HtmlInputText、Label等,這種顯示控件與數(shù)據(jù)對(duì)象之間的數(shù)據(jù)交換簡(jiǎn)單、直接。

        顯示控件命名規(guī)則:ID名稱就是數(shù)據(jù)對(duì)象的屬性名稱。

        如果屬性數(shù)據(jù)類型為字符串型,可以通過(guò)設(shè)置Max-Length屬性來(lái)限制顯示長(zhǎng)度。如果未設(shè)置MaxLength,或MaxLength設(shè)置為0,表示長(zhǎng)度不受限制。

        如果屬性數(shù)據(jù)類型為小數(shù),可以通過(guò)設(shè)置精度屬性Precision來(lái)設(shè)置小數(shù)位數(shù)。

        顯示對(duì)象事例:

        <asp:TextBox ID="V1"runat="server"Max-Length="30" ></asp:TextBox>

        <asp:TextBox ID="V2"runat="server"Precision="5.2"></asp:TextBox>

        <asp:TextBox ID="V3"runat="server" ></asp:TextBox>

        其中顯示對(duì)象ID名稱對(duì)應(yīng)數(shù)據(jù)對(duì)象屬性名稱。

        (2)單選控件

        單選控件也是常用的顯示控件,在屏幕上表現(xiàn)為一組單選按鈕,對(duì)應(yīng)一個(gè)數(shù)據(jù)對(duì)象屬性。與簡(jiǎn)單控件不一樣的是,簡(jiǎn)單控件與數(shù)據(jù)對(duì)象屬性是1對(duì)1的關(guān)系,而單選一般是多對(duì)1的關(guān)系:多個(gè)單選框?qū)?yīng)于一個(gè)數(shù)據(jù)對(duì)象屬性。

        為了簡(jiǎn)化編程代碼,本方案用一個(gè)DIV容器包含這一組單選按鈕,由DIV容器代表這一組單選框。

        該DIV命名規(guī)則:DIV的ID名稱設(shè)置為數(shù)據(jù)對(duì)象屬性名稱,同時(shí),為了標(biāo)識(shí)該DIV包含的是單選按鈕,該DIV增加一個(gè)固定屬性:groupClass="radiogroup"。

        C#遍歷Web頁(yè)面時(shí),一旦發(fā)現(xiàn)屬性groupClass=radiogroup,就用DIV的ID作為數(shù)據(jù)對(duì)象屬性名稱,然后通過(guò)反射查找數(shù)據(jù)對(duì)象相應(yīng)屬性的值val,再遍歷DIV的radio子對(duì)象集,如果找到某radio的值與val相同,設(shè)置該單選按鈕的checked狀態(tài)為true。

        顯示對(duì)象事例:

        <div id="hazardType"runat="server"group-Class="radioGroup" >

        <asp:RadioButton ID="sel1"Text="滑坡" runat="server"/>

        <asp:RadioButton ID="sel2"Text="崩塌"runat="server"/>

        <asp:RadioButton ID="sel3"Text="泥石流"runat="server"/>

        </div>

        要點(diǎn):

        1)Div對(duì)應(yīng)數(shù)據(jù)對(duì)象屬性,單選按鈕作為div的子對(duì)象;

        2)div的id名稱與數(shù)據(jù)對(duì)象的屬性名稱1:1對(duì)應(yīng);

        3)groupClass="radioGroup"是固定屬性;

        4)單選按鈕的ID命名沒(méi)有限制

        (3)多選控件

        與單選類似,一組多選按鈕對(duì)應(yīng)一個(gè)數(shù)據(jù)對(duì)象屬性,因此,在進(jìn)行Web頁(yè)面設(shè)計(jì)時(shí),也要用一個(gè)DIV容器把多個(gè)多選按鈕組織在一起,并且該DIV的ID名稱為數(shù)據(jù)對(duì)象屬性的名稱,該DIV也要增加一個(gè)固定變屬性:groupClass="checkgroup"。

        C#遍歷Web頁(yè)面時(shí),一旦發(fā)現(xiàn)屬性groupClass=checkgroup,就用DIV的ID來(lái)查找數(shù)據(jù)對(duì)象的相應(yīng)屬性值val,再遍歷DIV的checkbotton子對(duì)象,如果該按鈕的值在val中,則設(shè)置該按鈕的Checked屬性為true,否則為false。

        顯示對(duì)象事例:

        <div id="scope"runat="server"groupClass="checkGroup" >

        <asp:CheckBox ID="居民點(diǎn)" runat="server"/>

        <asp:CheckBox ID="工廠"runat="server"/>

        <asp:CheckBox ID="農(nóng)田"runat="server"/>

        <asp:CheckBox ID="水利工程"runat="server"/>

        </div>

        要點(diǎn):

        1)Div對(duì)應(yīng)數(shù)據(jù)對(duì)象屬性,多選按鈕作為div的子對(duì)象;

        2)div的id名稱一定要與數(shù)據(jù)對(duì)象的屬性名稱對(duì)應(yīng);

        3)groupClass="checkGroup"是固定屬性;

        4)單選按鈕的ID命名沒(méi)有限制

        (4)下拉列表

        下拉列表是一種填充了數(shù)據(jù)的列表,填充的數(shù)據(jù)類型是一種“代碼—名稱”數(shù)據(jù)結(jié)構(gòu),其特點(diǎn)是下拉列表顯示名稱,數(shù)據(jù)對(duì)象保存代碼。

        如果數(shù)據(jù)對(duì)象中保存的值就是顯示名稱,可以認(rèn)為是“代碼—名稱”的一種特殊情況:即代碼與名稱相同。

        下拉列表可以在設(shè)計(jì)時(shí)通過(guò)人工輸入建立,也可以在程序運(yùn)行時(shí)由代碼動(dòng)態(tài)生成。

        下拉列表與數(shù)據(jù)對(duì)象屬性具有1:1關(guān)系,下拉列表的ID名稱與對(duì)應(yīng)的數(shù)據(jù)對(duì)象屬性名稱相同。顯示對(duì)象事例:

        <asp:DropDownList ID="scale"runat="server" >

        <asp:ListItem Value="01" >特大型</asp:ListItem>

        <asp:ListItem Value="02" >大型</asp:ListItem>

        <asp:ListItem Value="03" >中小型</asp:ListItem>

        </asp:DropDownList>

        要點(diǎn):

        (5)下拉列表的id名稱與數(shù)據(jù)對(duì)象的屬性名稱對(duì)應(yīng);

        2.2 Web控件賦值數(shù)據(jù)對(duì)象算法

        在本系統(tǒng)中,單選結(jié)果以單選按鈕顯示的名稱以字符串的形式保存在數(shù)據(jù)對(duì)象中,多選結(jié)果以多選按鈕顯示的名稱保存,并以逗號(hào) (,)分割多選值。為了算法敘述的方便,引入“規(guī)范子串”的概念,嚴(yán)格定義多選值的存儲(chǔ)格式。

        定義1:字符串 s是字符串 f的規(guī)范子串的充要條件是:

        f以 s結(jié)尾或者 s加逗號(hào) (,)形成的新串是 f的子串。

        入口參數(shù):

        WebControl:頁(yè)面控件,子控件命名規(guī)則符合上面提出的要求。

        Obj:C#數(shù)據(jù)對(duì)象。

        Function WebPageToEntity(WebControl,Obj)

        {

        通過(guò)反射,獲得數(shù)據(jù)對(duì)象Obj的類型T;

        獲得WebControl的ID,并賦到變量pname;

        如果ID不符號(hào)上面定義的規(guī)則

        {

        對(duì)WebControl的子對(duì)象,遞歸調(diào)用本函數(shù)

        Return

        }

        取WebControl表示的數(shù)據(jù)類型,dataType;

        如果dataType不是預(yù)定義的處理的數(shù)據(jù)類型,返回;

        Case dataType是簡(jiǎn)單數(shù)據(jù):

        取WebControl的值,并賦到val;

        通過(guò)反射,把val保存到Obj的pname屬性;

        Case dataType是單選數(shù)據(jù):

        查詢WebControl的單選子控件,取選中的單選按鈕的值,并賦到val;

        通過(guò)反射,把val保存到Obj的pname屬性;

        Case dataType是多選數(shù)據(jù):

        查詢WebControl的多選子控件,組合所有選中的多選按鈕的值,并賦到val;

        通過(guò)反射,把val保存到Obj的pname屬性;

        Case dataType是下拉列表數(shù)據(jù):

        取下拉列表選擇的值,并賦到val;

        通過(guò)反射,把val保存到Obj的pname屬性;

        Case其它:

        不予處理;

        }

        2.3 數(shù)值對(duì)象賦值Web控件算法

        入口參數(shù):

        WebControl:頁(yè)面控件,子控件命名規(guī)則符合上面提出的要求。

        Obj:C#數(shù)據(jù)對(duì)象。

        Function EntityToWebPage(WebControl,Obj)

        {

        通過(guò)反射,獲得數(shù)據(jù)對(duì)象Obj的類型T;

        獲得WebControl的ID,并賦到變量pname;

        如果ID不符號(hào)上面定義的規(guī)則

        {

        對(duì)WebControl的子對(duì)象,遞歸調(diào)用本函數(shù)

        Return

        }

        取WebControl表示的數(shù)據(jù)類型,dataType;

        如果dataType不是預(yù)定義的處理的數(shù)據(jù)類型,返回;

        Case dataType是簡(jiǎn)單數(shù)據(jù):

        通過(guò)反射,取Obj的pname屬性值,并賦值到val

        把val設(shè)置WebControl控件;Case dataType是單選數(shù)據(jù):

        通過(guò)反射,取Obj的pname屬性值,并賦值到val

        查詢WebControl的單選子控件,如果某子控件的text屬性值與val相等,設(shè)置該子控件的Checked狀態(tài)為true;

        Case dataType是多選數(shù)據(jù):

        通過(guò)反射,取Obj的pname屬性值,并賦值到val

        對(duì)WebControl的所有多選子控件執(zhí)行:

        如果該子控件的text屬性是val的一個(gè)“規(guī)范子串”,

        選中該子控件,否則不選中該子控件

        Case dataType是下拉列表數(shù)據(jù):

        通過(guò)反射,取Obj的pname屬性值,并賦值到val

        把val賦值到下拉列表選擇的值

        Case其它:

        不予處理;

        }

        3 實(shí)現(xiàn)效果

        貴州省地質(zhì)災(zāi)害數(shù)據(jù)管理系統(tǒng)管理的災(zāi)害包括:滑坡、泥石流、崩塌、地裂縫、地面沉降、地面塌陷等6種,每種地質(zhì)災(zāi)害的屬性數(shù)量多達(dá)200個(gè)以上,并且屬性類型復(fù)雜,單選屬性、多選屬性、下拉屬性多,造成顯示界面非常復(fù)雜。在項(xiàng)目原型階段,采用“拷貝—粘貼—修改”方式,僅實(shí)現(xiàn)滑坡災(zāi)害數(shù)據(jù)對(duì)象到web頁(yè)面的顯示就寫了1850多行代碼,并且因?yàn)閷傩蕴啵a相似度又極高,導(dǎo)致代碼中存在很多難于發(fā)現(xiàn)的低級(jí)錯(cuò)誤,調(diào)試極其困難,最后只能徹底放棄這種方法。

        通過(guò)討論,采用了基于反射的數(shù)據(jù)交換方法,只用了兩個(gè)公共函數(shù),就實(shí)現(xiàn)了所有地質(zhì)災(zāi)害屬性的顯示與修改工作。函數(shù)WebPageToEntity實(shí)現(xiàn)web頁(yè)面顯示內(nèi)容賦值到數(shù)據(jù)對(duì)象,代碼只有160行;函數(shù)EntityToWebPage實(shí)現(xiàn)數(shù)據(jù)對(duì)象到頁(yè)面的顯示,代碼只有158行。總共300多行代碼,實(shí)現(xiàn)了所有Web頁(yè)面與數(shù)據(jù)對(duì)象之間的數(shù)據(jù)交換功能。并且這300多行代碼結(jié)構(gòu)嚴(yán)謹(jǐn)、邏輯性強(qiáng),調(diào)試、排錯(cuò)也很容易,系統(tǒng)的正確性得到了極大提高。

        數(shù)據(jù)對(duì)象通過(guò)代碼生成工具,直接從數(shù)據(jù)庫(kù)生成。設(shè)計(jì)人員只把頁(yè)面設(shè)計(jì)好,并按規(guī)范命名各種控件,最后通過(guò)調(diào)用WebPageToEntity和EntityToWebPage函數(shù),實(shí)現(xiàn)了數(shù)據(jù)對(duì)象與顯示元素之間的數(shù)據(jù)自動(dòng)交換。數(shù)據(jù)對(duì)象的持久化通過(guò)iBatis實(shí)現(xiàn)。這樣,CRUD部分的代碼量和測(cè)試量就變得很小了,極大減少了系統(tǒng)開(kāi)發(fā)的工作量。

        4 結(jié)束語(yǔ)

        文章提出了基于反射的顯示控件與數(shù)據(jù)對(duì)象之間的數(shù)據(jù)交換原理和方法,并對(duì)文本框、單選框、多選框、下拉列表等常用顯示控件的處理作了深入、詳細(xì)的討論,設(shè)計(jì)了實(shí)現(xiàn)數(shù)據(jù)交換的算法。

        該方法具有普遍意義,適用于各種系統(tǒng)的CRUD操作,尤其對(duì)數(shù)據(jù)項(xiàng)多、界面復(fù)雜的系統(tǒng)能夠極大地減少編程代碼,減少程序錯(cuò)誤,提高系統(tǒng)的正確性和穩(wěn)定性。

        該方法不局限于C#,可適用于支持反射機(jī)制的任何語(yǔ)言 (如Java),也不局限于Web系統(tǒng),還可適用于winform桌面系統(tǒng)。

        [1]GUO Guangjun,XU Zhangfa,YANG Siqing.Digitized archives management system for teaching evaluation based on struts-hibemate architecture[J].Computer Engineering and Design,2010,31(10):2358-2362(in Chinese).[郭廣軍,徐章法,羊四清.基于Struts-Hibernate構(gòu)架的數(shù)字化教學(xué)評(píng)估檔案管理系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(10):2358-2362.]

        [2]ZHOU Xiangbing,YANGXiaoping,YANGXingjiang.Application and implementation of general framework based on web layering structure[J].Computer Engineering and Design,2008,29(7):772-775(in Chinese).[任曉鵬,趙文兵,張春平.基于框架的Web系統(tǒng)開(kāi)發(fā)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,29(7):772-775.]

        [3]ZUO Wenming,WANG Qingqiang,WU Yingliang.Use land management information system based on struts[J].Computer Engineering and Design,2008,29(19):4972-4974(in Chinese).[左文明,王慶強(qiáng),吳應(yīng)良,等.基于Struts的用地管理信息系統(tǒng)[J],計(jì)算機(jī)工程與設(shè)計(jì),2008,29(19):4972-4974.]

        [4]CHEN Nannan.Research and implementation of data transmission with C# [J].Computer and Information,2011(11):67-68(in Chinese).[陳南南.基于C#的對(duì)象間數(shù)據(jù)傳遞方法分析及實(shí)現(xiàn) [J].電腦與信息,2011(11):67-68.]

        [5]ZHANG Zhi,DU Jingkang,ZUO Fengjun,Research on.Net reflection based GISplugin technology[J].Science of Surveying and Mapping,2011,36(4):151-152(in Chinese).[章志,都金康,卓鳳軍.基于.NET反射機(jī)制的GIS插件技術(shù)研究[J].測(cè)試科學(xué),2011,36(4):151-152.]

        [6]ZHOU Xiangbing,YANG Xiaoping,YANGXingjiang.Application and implementation of general framework based on web layering structure[J].Computer Engineering and Design,2008,29(7):1859-1862(in Chinese).[周相兵,楊小平,楊興江.基于Web分層結(jié)構(gòu)的通用框架實(shí)現(xiàn)及應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(7):1859-1862.]

        [7]QIN Pengtao,WANG Suwen.Application of simple factory pattern in data access layer [J].Computer Engineering and Design,2009,30(7):1799-1801(in Chinese).[秦澎濤,蘇文.簡(jiǎn)單工廠模式在數(shù)據(jù)訪問(wèn)層中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(7):1799-1801.]

        [8]LOU Buye.Design of auto-marking software framework for Java programming questions [J].Computer Engineering and Design,2010,31(24):5343-5346(in Chinese).[婁不夜.Java編程題自動(dòng)判分軟件框架的設(shè)計(jì) [J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(24):5343-5346.]

        [9]XIAO Lu,LONG Pengfei.The research of AOP based on Java dynamic proxy[J].Micro Computer Information,2011,27(2):211-213(in Chinese).[肖露,龍鵬飛.基于JAVA的動(dòng)態(tài)代理實(shí)現(xiàn)的AOP的研究 [J].微計(jì)算機(jī)信息,2011,27(2):211-213.]

        [10]DUAN Chao,QIAN Gang,SUN Yijie.Practice and application of the technology of reflection ln database operation[J].Process Automation Instrumentation,2010,31(6):17-20(in Chinese).[段超,錢剛,孫怡劫.反射技術(shù)在數(shù)據(jù)庫(kù)操作方面的實(shí)踐與應(yīng)用[J].自動(dòng)化儀表,2010,31(6):17-20.]

        [11]Nagel C.Professional C#[D].6nd ed.Beijing:Tsinghua University Press,2008:10-205(in Chinese).[(美)內(nèi)格爾(Nagel.C).C#高級(jí)編程[D].6版.北京:清華大學(xué)出版社,2008:10-205.]

        [12]WANG Jianguo,WANG Jianyin,Struts+Spring+Hibernate frameworks and application development[D].Beijing:Tsinghua University Press,2011:1-638(in Chinese).[王建國(guó),王建英.Struts+Spring+Hibernate框架及應(yīng)用開(kāi)發(fā) [D].北京,清華大學(xué)出版社,2011:1-638.]

        猜你喜歡
        頁(yè)面按鈕界面
        大狗熊在睡覺(jué)
        哪個(gè)是門鈴真正的按鈕
        當(dāng)你面前有個(gè)按鈕
        刷新生活的頁(yè)面
        國(guó)企黨委前置研究的“四個(gè)界面”
        基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開(kāi)發(fā)方法研究
        人機(jī)交互界面發(fā)展趨勢(shì)研究
        手機(jī)界面中圖形符號(hào)的發(fā)展趨向
        新聞傳播(2015年11期)2015-07-18 11:15:04
        內(nèi)心不能碰的按鈕
        同一Word文檔 縱橫頁(yè)面并存
        亚洲愉拍自拍视频一区| 国产成人乱色伦区| 亚洲无码精品免费片| 亚洲AV无码一区二区三区少妇av | 国产精品亚洲专区在线播放| 女优免费中文字幕在线| 亚洲精品国产亚洲av| 真实国产乱子伦精品视频 | 免费人成视频网站在线不卡| 国产青榴视频在线观看| 久久成人麻豆午夜电影| 中文人妻av大区中文不卡| 在线观看在线观看一区二区三区| 最新欧美精品一区二区三区| 特级做a爰片毛片免费看无码| 亚洲 欧美 国产 日韩 精品| 亚洲一区二区情侣| 精品亚洲一区二区三洲| 国产又色又爽无遮挡免费软件| 国产乱人视频在线播放| 亚洲午夜无码AV不卡| 亚洲伊人av综合福利| 中文字幕亚洲综合久久天堂av| 少妇人妻在线无码天堂视频网| 夜夜高潮夜夜爽夜夜爱爱| 国产精品国产三级国产专区5o| 永久免费中文字幕av| 在线a亚洲视频播放在线播放| 久久天天躁狠狠躁夜夜躁2014| 欧美疯狂做受xxxx高潮小说| 69av视频在线| 亚洲精品中文字幕乱码无线| 成年免费a级毛片免费看| 中文字幕无码不卡免费视频| 精品人妻免费看一区二区三区 | 人妻久久一区二区三区蜜桃| 曰韩无码二三区中文字幕| 中文字幕久久久久人妻无码| 久久久国产精品首页免费| 在厨房被c到高潮a毛片奶水| 亚洲成a人v欧美综合天堂麻豆|