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

        ?

        基于.NET的LINQ to SQL 三層架構(gòu)的研究與實現(xiàn)

        2014-07-03 18:56:46方生
        電腦知識與技術(shù) 2014年12期
        關(guān)鍵詞:三層架構(gòu)數(shù)據(jù)模型

        摘要:LINQ作為一種數(shù)據(jù)操作技術(shù),它能夠?qū)?fù)雜的查詢應(yīng)用簡化成一個簡單的查詢語句,在傳統(tǒng)的軟件開發(fā)中,那些復(fù)雜、冗余、難以實現(xiàn)的方法使用LINQ技術(shù)都能很好的解決,極大的方便了開發(fā)人員對于業(yè)務(wù)邏輯的處理代碼的編寫。LINQ作為編程語言的一部分,它還彌補了SQL語句中的一些不足,在一定的程度上達到防止SQL注入式攻擊的目的。文中針對LINQ技術(shù)進行研究,結(jié)合傳統(tǒng)的基于.NET三層架構(gòu)模型,給出一種基于.NET 的LINQ的三層架構(gòu)方式。并采用基于LINQ三層架構(gòu)對學(xué)生信息管理系統(tǒng)加以實現(xiàn),提高了應(yīng)用程序的安全性和可移植性。

        關(guān)鍵詞:LINQ; LINQ to SQL;數(shù)據(jù)模型 ;三層架構(gòu)

        中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)12-2743-04

        .NET LINQ based on to Research and Realization of Three Layer Architecture of SQL

        FANG Sheng

        (Anhui Business College of Vocational Technology,Wuhu 241002,China)

        Abstract: LINQ is a data operation technique, and it can be used to simplify the query into a simple query. In the traditional software development, the redundant, complex, difficult to achieve using LINQ technology can solve good, great convenience to the developers for handling code business logic programming. LINQ as part of a programming language, it also makes up some deficiencies in the SQL statement, to prevent SQL injection attacks to some extent. In this paper, LINQ technology is researched, combined with the.NET three layer architecture model based on the traditional, an algorithm based on three layer.NET architecture of LINQ is presented. And based on LINQ three layer architecture, the student information management system is realized, and improves the application security and portability.

        Key words: LINQ; LINQ to SQL; data model; the three layer architecture

        隨著軟件應(yīng)用領(lǐng)域的日益擴大,軟件需要處理的數(shù)據(jù)類型和數(shù)據(jù)量也隨之不斷增加。對于數(shù)據(jù)訪問的安全性、方便性以及通用性引起軟件開發(fā)人員的普遍關(guān)注。因此,微軟公司在.net3.5中增加了LINQ(Language Integrated Query,語言集成查詢)數(shù)據(jù)操作技術(shù),它為軟件開發(fā)人員提供了一種統(tǒng)一的數(shù)據(jù)查詢模式,可以有效的提高數(shù)據(jù)訪問的安全性和高效性。

        1 LINQ體系結(jié)構(gòu)

        LINQ是.Net Framework中一項突破性的創(chuàng)新,它在對象領(lǐng)域和數(shù)據(jù)領(lǐng)域之間架起了一座橋梁。LINQ可以操作任何存儲形式的數(shù)據(jù)源,如對象(集合、數(shù)組、字符串等)、關(guān)系(關(guān)系數(shù)據(jù)庫、ADO.NET數(shù)據(jù)集等)以及XML。LINQ的架構(gòu)如圖1所示。[[1]]

        其中,LINQ to Objects是對內(nèi)存進行操作,LINQ to SQL是對數(shù)據(jù)庫進行操作,LINQ to XML是對XML文件進行的操作,

        2 基于LINQ的三層架構(gòu)

        2.1 傳統(tǒng)的三層架構(gòu)

        通常意義上的三層架構(gòu)是將整個業(yè)務(wù)應(yīng)用劃分為表示層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問層(DAL)。為了便于數(shù)據(jù)的傳遞,更好的體現(xiàn)面向?qū)ο笏枷?,通常會在傳統(tǒng)三層的基礎(chǔ)上增加一個業(yè)務(wù)實體 Model項,稱為模型層。它包含與數(shù)據(jù)庫表對應(yīng)的實體類。傳統(tǒng)的三層架構(gòu)如圖2所示。[[2]]

        2.2 基于LINQ to SQL的三層架構(gòu)

        LINQ to SQL是操縱數(shù)據(jù)庫重要的技術(shù),在LINQ to SQL中,關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模型映射到開發(fā)人員所使用的編程語言表示的對象模型,對對象模型的操作就是對關(guān)系數(shù)據(jù)庫的操作。

        要實現(xiàn)LINQ to SQL,首先必須根據(jù)現(xiàn)有關(guān)系數(shù)據(jù)庫的元數(shù)據(jù)創(chuàng)建對象模型。而利用對象關(guān)系設(shè)計器(O/R設(shè)計器)創(chuàng)建的對象模型包含了傳統(tǒng)的三層架構(gòu)中的實體類。因此,可以根據(jù)傳統(tǒng)的三層架構(gòu)建立基于LINQ to SQL 三層體系結(jié)構(gòu)如圖3所示。

        其中,DataLinq層主要包括實體類和DataContext類。通常情況下,一個實體類對應(yīng)數(shù)據(jù)庫中的一張表,利用實體類的實例在不同的層之間作為數(shù)據(jù)對象進行數(shù)據(jù)傳輸。而O/R設(shè)計器生成的強類型DataContext,它表示LINQ to SQL框架的主入口點,用于在實體類與數(shù)據(jù)庫之間傳送和接收數(shù)據(jù)。[[3]]

        3 基于LINQ的三層架構(gòu)的實現(xiàn)endprint

        本文以學(xué)生信息管理系統(tǒng)“登錄”模塊為例來說明基于LINQ 的 WINFORM系統(tǒng)三層架構(gòu)的具體實現(xiàn)。

        3.1 數(shù)據(jù)庫

        利用Sql Server2005創(chuàng)建名為mySchool的數(shù)據(jù)庫,該數(shù)據(jù)庫包含六張表,分別為管理員表(Admin)、學(xué)生表(Student)、教師表(Teacher)、年級表(Grade)、成績表(Result)和課程表(Subject)。在此僅以管理員表為例。管理員表結(jié)構(gòu)如表1所示:

        3.2 基于LINQ的三層架構(gòu)的搭建

        利用Visual Studio 2008創(chuàng)建一個WinForm項目,其步驟如下:

        1)新建表示層項目,選擇WinForm窗體,將其命名為mySchool。

        2)創(chuàng)建業(yè)務(wù)邏輯層項目,選擇類庫,將其命名為mySchool.BLL。

        3)創(chuàng)建數(shù)據(jù)訪問層項目,選擇類庫,將其命名為mySchool.DAL。

        4)創(chuàng)建對象模型項目,選擇類庫,將其命名為mySchool.DataLinq。

        5)添加層之間的依賴關(guān)系。表示層添加對邏輯處理層、 DataLinq的項目引用。邏輯處理層添加對數(shù)據(jù)訪問層和 DataLinq的項目引用。數(shù)據(jù)訪問層添加對System.Data.Linq和DataLinq的項目引用;基于Linq的三層架構(gòu)如圖4所示。

        3.3 基于LINQ的三層架構(gòu)功能的實現(xiàn)

        1) 創(chuàng)建對象模型

        在DataLinq層添加LINQ to SQL類,并命名為mySchool.dbml。然后利用對象關(guān)系設(shè)計器,從數(shù)據(jù)庫中,把表拖動到對象關(guān)系設(shè)計器的界面上,這時就會生成一個實體類,該類包含了與表的字段對應(yīng)的屬性。對象關(guān)系設(shè)計器生成的對象模型如圖5所示。

        圖5 對象關(guān)系設(shè)計器生成的對象模型

        2) 數(shù)據(jù)訪問層實現(xiàn)

        創(chuàng)建了對象模型后,就可以操作數(shù)據(jù)庫了。針對模型層中的類,數(shù)據(jù)訪問層有一個對應(yīng)的數(shù)據(jù)訪問類。例如,針對Admin實體類,有一個對應(yīng)的adminServices類,用以處理有關(guān)Admin表的數(shù)據(jù)。創(chuàng)建的類結(jié)構(gòu)和Linq to SQL中的查詢?nèi)缦拢?/p>

        public class adminServices

        {private static mySchoolDataContext da=new mySchoolDataContext();

        public static Admin getAdmin(Admin admin)

        {try

        {var result = from newAdmin in da.Admin

        where newAdmin.LoginId == admin.LoginId

        select newAdmin;

        return result.Single();

        }

        catch (Exception ex)

        {throw ex;

        }}}

        3) 業(yè)務(wù)邏輯層實現(xiàn)

        業(yè)務(wù)邏輯層提供對各個業(yè)務(wù)的處理,接收表示層的數(shù)據(jù),通過個性化需求的處理,傳遞給數(shù)據(jù)層處理相應(yīng)事務(wù),針對項目應(yīng)用的業(yè)務(wù)規(guī)則、合法性校驗等進行處理。對于Admin類的業(yè)務(wù)處理,創(chuàng)建的adminManager類結(jié)構(gòu)如下:

        public class adminManager

        {public static bool getAdmin(Admin admin)

        {Admin newAdmin = adminServices.getAdmin(admin);

        if (newAdmin == null)

        {return false;

        }

        else if (newAdmin.LoginPwd == admin.LoginPwd)

        {return true;

        }

        else

        {return false;

        }}}

        4) 表示層實現(xiàn)

        表示層提供與用戶交互的界面,將數(shù)據(jù)依據(jù)不同的功能,傳遞給業(yè)務(wù)邏輯層中不同的對象。根據(jù)登錄功能操作的流程,在“登錄”按鈕的Click事件中,編寫如下的驗證方法:

        private void btLogin_Click(object sender, EventArgs e)

        {

        Admin admin = new Admin();

        admin.LoginId = this.txtLoginId.Text.Trim();

        admin.LoginPwd = this.txtLoginPwd.Text.Trim();

        if (adminManager.getAdmin(admin))

        {

        frmMainWindows fMM = new frmMainWindows();

        fMM.Show();

        }

        else

        {

        MessageBox.Show("賬號或者密碼錯誤,請重新輸入!");

        return;

        }}

        從上面的代碼中可以看到,并沒有出現(xiàn)具體的用戶驗證,而是通過調(diào)用業(yè)務(wù)邏輯層中的adminManager.getAdmin方法來實現(xiàn)的。總之,在表示層中處理的主要是與用戶交互相關(guān)的界面操作,而相應(yīng)的功能實現(xiàn)則需要通過調(diào)用業(yè)務(wù)邏輯層中的內(nèi)容來實現(xiàn)。

        4 結(jié)束語

        本文通過一個簡單實例, 描述了 LINQ 在三層架構(gòu)軟件開發(fā)模型下的應(yīng)用。在以往三層架構(gòu)系統(tǒng)開發(fā)過程中,軟件開發(fā)人員必須自己建立相應(yīng)的實體類并直接對數(shù)據(jù)庫操作,而基于LINQ的分層架構(gòu)直接與對象模型交互而無需直接與數(shù)據(jù)庫交互。對于不同的數(shù)據(jù)源,它都采用同樣的訪問方式。通過簡單易用的接口,它不僅大大提高了軟件開發(fā)的效率,而且可以安全地消除來自數(shù)據(jù)庫應(yīng)用程序的SQL注入攻擊,增強了應(yīng)用程序的安全性。

        參考文獻:

        [1] 劉乃琦,郭小芳 ASP.NET應(yīng)用開發(fā)與實踐[M].北京:人民郵電出版社,2013.

        [2] 程光華.Web應(yīng)用程序開發(fā)[M].北京:清華大學(xué)出版社,2011.

        [3] 張聯(lián)鋒.陳文臣 ASP.NET3.5程序設(shè)計與項目實踐[M].北京:電子工業(yè)出版社,2011.

        本文以學(xué)生信息管理系統(tǒng)“登錄”模塊為例來說明基于LINQ 的 WINFORM系統(tǒng)三層架構(gòu)的具體實現(xiàn)。

        3.1 數(shù)據(jù)庫

        利用Sql Server2005創(chuàng)建名為mySchool的數(shù)據(jù)庫,該數(shù)據(jù)庫包含六張表,分別為管理員表(Admin)、學(xué)生表(Student)、教師表(Teacher)、年級表(Grade)、成績表(Result)和課程表(Subject)。在此僅以管理員表為例。管理員表結(jié)構(gòu)如表1所示:

        3.2 基于LINQ的三層架構(gòu)的搭建

        利用Visual Studio 2008創(chuàng)建一個WinForm項目,其步驟如下:

        1)新建表示層項目,選擇WinForm窗體,將其命名為mySchool。

        2)創(chuàng)建業(yè)務(wù)邏輯層項目,選擇類庫,將其命名為mySchool.BLL。

        3)創(chuàng)建數(shù)據(jù)訪問層項目,選擇類庫,將其命名為mySchool.DAL。

        4)創(chuàng)建對象模型項目,選擇類庫,將其命名為mySchool.DataLinq。

        5)添加層之間的依賴關(guān)系。表示層添加對邏輯處理層、 DataLinq的項目引用。邏輯處理層添加對數(shù)據(jù)訪問層和 DataLinq的項目引用。數(shù)據(jù)訪問層添加對System.Data.Linq和DataLinq的項目引用;基于Linq的三層架構(gòu)如圖4所示。

        3.3 基于LINQ的三層架構(gòu)功能的實現(xiàn)

        1) 創(chuàng)建對象模型

        在DataLinq層添加LINQ to SQL類,并命名為mySchool.dbml。然后利用對象關(guān)系設(shè)計器,從數(shù)據(jù)庫中,把表拖動到對象關(guān)系設(shè)計器的界面上,這時就會生成一個實體類,該類包含了與表的字段對應(yīng)的屬性。對象關(guān)系設(shè)計器生成的對象模型如圖5所示。

        圖5 對象關(guān)系設(shè)計器生成的對象模型

        2) 數(shù)據(jù)訪問層實現(xiàn)

        創(chuàng)建了對象模型后,就可以操作數(shù)據(jù)庫了。針對模型層中的類,數(shù)據(jù)訪問層有一個對應(yīng)的數(shù)據(jù)訪問類。例如,針對Admin實體類,有一個對應(yīng)的adminServices類,用以處理有關(guān)Admin表的數(shù)據(jù)。創(chuàng)建的類結(jié)構(gòu)和Linq to SQL中的查詢?nèi)缦拢?/p>

        public class adminServices

        {private static mySchoolDataContext da=new mySchoolDataContext();

        public static Admin getAdmin(Admin admin)

        {try

        {var result = from newAdmin in da.Admin

        where newAdmin.LoginId == admin.LoginId

        select newAdmin;

        return result.Single();

        }

        catch (Exception ex)

        {throw ex;

        }}}

        3) 業(yè)務(wù)邏輯層實現(xiàn)

        業(yè)務(wù)邏輯層提供對各個業(yè)務(wù)的處理,接收表示層的數(shù)據(jù),通過個性化需求的處理,傳遞給數(shù)據(jù)層處理相應(yīng)事務(wù),針對項目應(yīng)用的業(yè)務(wù)規(guī)則、合法性校驗等進行處理。對于Admin類的業(yè)務(wù)處理,創(chuàng)建的adminManager類結(jié)構(gòu)如下:

        public class adminManager

        {public static bool getAdmin(Admin admin)

        {Admin newAdmin = adminServices.getAdmin(admin);

        if (newAdmin == null)

        {return false;

        }

        else if (newAdmin.LoginPwd == admin.LoginPwd)

        {return true;

        }

        else

        {return false;

        }}}

        4) 表示層實現(xiàn)

        表示層提供與用戶交互的界面,將數(shù)據(jù)依據(jù)不同的功能,傳遞給業(yè)務(wù)邏輯層中不同的對象。根據(jù)登錄功能操作的流程,在“登錄”按鈕的Click事件中,編寫如下的驗證方法:

        private void btLogin_Click(object sender, EventArgs e)

        {

        Admin admin = new Admin();

        admin.LoginId = this.txtLoginId.Text.Trim();

        admin.LoginPwd = this.txtLoginPwd.Text.Trim();

        if (adminManager.getAdmin(admin))

        {

        frmMainWindows fMM = new frmMainWindows();

        fMM.Show();

        }

        else

        {

        MessageBox.Show("賬號或者密碼錯誤,請重新輸入!");

        return;

        }}

        從上面的代碼中可以看到,并沒有出現(xiàn)具體的用戶驗證,而是通過調(diào)用業(yè)務(wù)邏輯層中的adminManager.getAdmin方法來實現(xiàn)的??傊?,在表示層中處理的主要是與用戶交互相關(guān)的界面操作,而相應(yīng)的功能實現(xiàn)則需要通過調(diào)用業(yè)務(wù)邏輯層中的內(nèi)容來實現(xiàn)。

        4 結(jié)束語

        本文通過一個簡單實例, 描述了 LINQ 在三層架構(gòu)軟件開發(fā)模型下的應(yīng)用。在以往三層架構(gòu)系統(tǒng)開發(fā)過程中,軟件開發(fā)人員必須自己建立相應(yīng)的實體類并直接對數(shù)據(jù)庫操作,而基于LINQ的分層架構(gòu)直接與對象模型交互而無需直接與數(shù)據(jù)庫交互。對于不同的數(shù)據(jù)源,它都采用同樣的訪問方式。通過簡單易用的接口,它不僅大大提高了軟件開發(fā)的效率,而且可以安全地消除來自數(shù)據(jù)庫應(yīng)用程序的SQL注入攻擊,增強了應(yīng)用程序的安全性。

        參考文獻:

        [1] 劉乃琦,郭小芳 ASP.NET應(yīng)用開發(fā)與實踐[M].北京:人民郵電出版社,2013.

        [2] 程光華.Web應(yīng)用程序開發(fā)[M].北京:清華大學(xué)出版社,2011.

        [3] 張聯(lián)鋒.陳文臣 ASP.NET3.5程序設(shè)計與項目實踐[M].北京:電子工業(yè)出版社,2011.

        本文以學(xué)生信息管理系統(tǒng)“登錄”模塊為例來說明基于LINQ 的 WINFORM系統(tǒng)三層架構(gòu)的具體實現(xiàn)。

        3.1 數(shù)據(jù)庫

        利用Sql Server2005創(chuàng)建名為mySchool的數(shù)據(jù)庫,該數(shù)據(jù)庫包含六張表,分別為管理員表(Admin)、學(xué)生表(Student)、教師表(Teacher)、年級表(Grade)、成績表(Result)和課程表(Subject)。在此僅以管理員表為例。管理員表結(jié)構(gòu)如表1所示:

        3.2 基于LINQ的三層架構(gòu)的搭建

        利用Visual Studio 2008創(chuàng)建一個WinForm項目,其步驟如下:

        1)新建表示層項目,選擇WinForm窗體,將其命名為mySchool。

        2)創(chuàng)建業(yè)務(wù)邏輯層項目,選擇類庫,將其命名為mySchool.BLL。

        3)創(chuàng)建數(shù)據(jù)訪問層項目,選擇類庫,將其命名為mySchool.DAL。

        4)創(chuàng)建對象模型項目,選擇類庫,將其命名為mySchool.DataLinq。

        5)添加層之間的依賴關(guān)系。表示層添加對邏輯處理層、 DataLinq的項目引用。邏輯處理層添加對數(shù)據(jù)訪問層和 DataLinq的項目引用。數(shù)據(jù)訪問層添加對System.Data.Linq和DataLinq的項目引用;基于Linq的三層架構(gòu)如圖4所示。

        3.3 基于LINQ的三層架構(gòu)功能的實現(xiàn)

        1) 創(chuàng)建對象模型

        在DataLinq層添加LINQ to SQL類,并命名為mySchool.dbml。然后利用對象關(guān)系設(shè)計器,從數(shù)據(jù)庫中,把表拖動到對象關(guān)系設(shè)計器的界面上,這時就會生成一個實體類,該類包含了與表的字段對應(yīng)的屬性。對象關(guān)系設(shè)計器生成的對象模型如圖5所示。

        圖5 對象關(guān)系設(shè)計器生成的對象模型

        2) 數(shù)據(jù)訪問層實現(xiàn)

        創(chuàng)建了對象模型后,就可以操作數(shù)據(jù)庫了。針對模型層中的類,數(shù)據(jù)訪問層有一個對應(yīng)的數(shù)據(jù)訪問類。例如,針對Admin實體類,有一個對應(yīng)的adminServices類,用以處理有關(guān)Admin表的數(shù)據(jù)。創(chuàng)建的類結(jié)構(gòu)和Linq to SQL中的查詢?nèi)缦拢?/p>

        public class adminServices

        {private static mySchoolDataContext da=new mySchoolDataContext();

        public static Admin getAdmin(Admin admin)

        {try

        {var result = from newAdmin in da.Admin

        where newAdmin.LoginId == admin.LoginId

        select newAdmin;

        return result.Single();

        }

        catch (Exception ex)

        {throw ex;

        }}}

        3) 業(yè)務(wù)邏輯層實現(xiàn)

        業(yè)務(wù)邏輯層提供對各個業(yè)務(wù)的處理,接收表示層的數(shù)據(jù),通過個性化需求的處理,傳遞給數(shù)據(jù)層處理相應(yīng)事務(wù),針對項目應(yīng)用的業(yè)務(wù)規(guī)則、合法性校驗等進行處理。對于Admin類的業(yè)務(wù)處理,創(chuàng)建的adminManager類結(jié)構(gòu)如下:

        public class adminManager

        {public static bool getAdmin(Admin admin)

        {Admin newAdmin = adminServices.getAdmin(admin);

        if (newAdmin == null)

        {return false;

        }

        else if (newAdmin.LoginPwd == admin.LoginPwd)

        {return true;

        }

        else

        {return false;

        }}}

        4) 表示層實現(xiàn)

        表示層提供與用戶交互的界面,將數(shù)據(jù)依據(jù)不同的功能,傳遞給業(yè)務(wù)邏輯層中不同的對象。根據(jù)登錄功能操作的流程,在“登錄”按鈕的Click事件中,編寫如下的驗證方法:

        private void btLogin_Click(object sender, EventArgs e)

        {

        Admin admin = new Admin();

        admin.LoginId = this.txtLoginId.Text.Trim();

        admin.LoginPwd = this.txtLoginPwd.Text.Trim();

        if (adminManager.getAdmin(admin))

        {

        frmMainWindows fMM = new frmMainWindows();

        fMM.Show();

        }

        else

        {

        MessageBox.Show("賬號或者密碼錯誤,請重新輸入!");

        return;

        }}

        從上面的代碼中可以看到,并沒有出現(xiàn)具體的用戶驗證,而是通過調(diào)用業(yè)務(wù)邏輯層中的adminManager.getAdmin方法來實現(xiàn)的??傊?,在表示層中處理的主要是與用戶交互相關(guān)的界面操作,而相應(yīng)的功能實現(xiàn)則需要通過調(diào)用業(yè)務(wù)邏輯層中的內(nèi)容來實現(xiàn)。

        4 結(jié)束語

        本文通過一個簡單實例, 描述了 LINQ 在三層架構(gòu)軟件開發(fā)模型下的應(yīng)用。在以往三層架構(gòu)系統(tǒng)開發(fā)過程中,軟件開發(fā)人員必須自己建立相應(yīng)的實體類并直接對數(shù)據(jù)庫操作,而基于LINQ的分層架構(gòu)直接與對象模型交互而無需直接與數(shù)據(jù)庫交互。對于不同的數(shù)據(jù)源,它都采用同樣的訪問方式。通過簡單易用的接口,它不僅大大提高了軟件開發(fā)的效率,而且可以安全地消除來自數(shù)據(jù)庫應(yīng)用程序的SQL注入攻擊,增強了應(yīng)用程序的安全性。

        參考文獻:

        [1] 劉乃琦,郭小芳 ASP.NET應(yīng)用開發(fā)與實踐[M].北京:人民郵電出版社,2013.

        [2] 程光華.Web應(yīng)用程序開發(fā)[M].北京:清華大學(xué)出版社,2011.

        [3] 張聯(lián)鋒.陳文臣 ASP.NET3.5程序設(shè)計與項目實踐[M].北京:電子工業(yè)出版社,2011.

        猜你喜歡
        三層架構(gòu)數(shù)據(jù)模型
        面板數(shù)據(jù)模型截面相關(guān)檢驗方法綜述
        加熱爐爐內(nèi)跟蹤數(shù)據(jù)模型優(yōu)化
        電子測試(2017年12期)2017-12-18 06:35:36
        基于“三層架構(gòu)”理論的教學(xué)設(shè)計案例分析
        良好的信息系統(tǒng)體系結(jié)構(gòu)模式對網(wǎng)絡(luò)安全監(jiān)察與維護技術(shù)的方法的探討
        ASP.NET三層架構(gòu)體系分析與應(yīng)用
        基于SSH 的實驗室管理系統(tǒng)設(shè)計與實現(xiàn)
        面向集成管理的出版原圖數(shù)據(jù)模型
        一種顧及級聯(lián)時空變化描述的土地利用變更數(shù)據(jù)模型
        欧美嫩交一区二区三区| 性色av成人精品久久| 少妇太爽高潮在线播放| 久久午夜av一区二区三区| 精品水蜜桃久久久久久久| 中文毛片无遮挡高潮| 亚洲黄片av在线免费观看| 日韩女优精品一区二区三区| 中文字幕欧美人妻精品一区| 色老头一区二区三区| 亚洲一区极品美女写真在线看| 久久精品国产亚洲av高清三区| 亚洲 卡通 欧美 制服 中文| 国产在线高清视频| 大量老肥熟女老女人自拍| 亚洲国产国语在线对白观看| 亚洲av永久精品爱情岛论坛| 精品人妻VA出轨中文字幕| 一区二区三区手机看片日本韩国| 激情人妻另类人妻伦| 成人白浆超碰人人人人| 亚洲va在线va天堂va四虎| 国产免费网站在线观看不卡| 在线观看的网站| 少妇内射视频播放舔大片| 国产一级黄色av影片| 久久精品人搡人妻人少妇| 少妇愉情理伦片丰满丰满午夜| 国产va免费精品高清在线观看| 精品日韩一区二区三区av| 欧美牲交a欧美牲交aⅴ| 久久精品国产9久久综合| 女优av福利在线观看| 国产成人自拍高清在线| 97se亚洲国产综合自在线| 中文字幕有码在线视频| 亚洲最大一区二区在线观看| 国语对白嫖老妇胖老太| 任你躁国产自任一区二区三区| 精品国产免费一区二区久久| 国内最真实的xxxx人伦|