西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)其它知識 → AgileEAS.NET平臺對象設計器使用教程

AgileEAS.NET平臺對象設計器使用教程

相關軟件相關文章發(fā)表評論 來源:本站整理時間:2010/9/9 22:40:47字體大。A-A+

作者:佚名點擊:297次評論:2次標簽: .NET 對象 平臺

  • 類型:行業(yè)軟件大。7.3M語言:中文 評分:10.0
  • 標簽:
立即下載

       AgileEAS.NET平臺做為一個快速應用開發(fā)平臺,其目的為是為了提高應用軟件的生產(chǎn)效率,如何軟件開發(fā)的生產(chǎn)效率,方法是多種多樣的;使用工作簡化開發(fā)中低技術(shù)重復工作可以是一種行之有效的途徑。

       在AgileEAS.NET平臺中,我們提供了一個集數(shù)據(jù)庫設計、代碼生成、DDL定義與一體的數(shù)據(jù)實體設計器。

       在早期的AgileEAS.NET版本中包含一個代碼生成器,用于根據(jù)現(xiàn)在數(shù)據(jù)庫生成ORM代碼,后來的思路是想介入項目的數(shù)據(jù)庫設計環(huán)節(jié),所以設計了這么一個數(shù)據(jù)對象設計器,提供一個數(shù)據(jù)表定義工具,在項目的數(shù)據(jù)庫設計階段(環(huán)節(jié)),使用數(shù)據(jù)表設計工具同時定義數(shù)據(jù)庫和數(shù)據(jù)實體模型,對象設計器會生成數(shù)據(jù)庫設計文檔、數(shù)據(jù)定義語言、基于分層的數(shù)據(jù)訪問層代碼。

       在基于數(shù)據(jù)庫的應用開發(fā)項目中,數(shù)據(jù)庫設計是很一個很重要的過程,而這個過程寫數(shù)據(jù)庫設計文件是一個環(huán)節(jié),在很多軟件公司中,都是使用Word、WPS等文字表格工具寫數(shù)據(jù)庫文檔,但是數(shù)據(jù)庫文檔與數(shù)據(jù)庫建立、程序編寫過程脫節(jié)。

       AgileEAS.NET平臺的對象設計工作,試圖在這方面進行集成,即設計器產(chǎn)生的模型定義即可以生成數(shù)據(jù)庫文檔、數(shù)據(jù)庫定義語句、也可以生成開發(fā)過程的代碼。

關于數(shù)據(jù)模型

       AgileEAS.NET平臺針對應用開發(fā)之中的數(shù)據(jù)對象定義、存儲和交流定義一個數(shù)據(jù)對象結(jié)構(gòu)模型定義文件,數(shù)據(jù)設計器建立好的項目定義最后存儲在以.sdm為擴展名一個數(shù)據(jù)模型定義文件。

介紹

       AgileEAS.NET平臺的模型定義既為對象設計的導航定義:

       其組織結(jié)構(gòu)為項目包含實體和模型兩大類,模型存儲數(shù)據(jù)對象的關系(目前不支持),實體存儲數(shù)據(jù)對象的定義,實體可以選擇按目錄組織,即如果項目中的實體很多,為了視覺和組織上的方便,建立目錄,并在目錄中創(chuàng)建實體,只支持一級目錄。

AgileEAS.NET系統(tǒng)主界面

       主窗口中共包括了5個不同的工作區(qū):系統(tǒng)菜單、工具欄、功能導航欄、業(yè)務工作區(qū)、系統(tǒng)狀態(tài)欄,系統(tǒng)中的所有業(yè)務功能均可通過系功能導航欄訪問操作。

系統(tǒng)菜單

       對象設計器采用導航式界面樣式,系統(tǒng)功能由導航和菜單兩部分組成,提供文件、編輯、工具、窗口和幫助等菜單。

工具欄

       工作欄上放置了與系統(tǒng)菜單相關的快速工具欄,可以通過這些工具欄快速訪問相關功能模塊。

導航欄

       系統(tǒng)導航欄上列舉了項目中的數(shù)據(jù)對象組織機構(gòu),可以在導航欄上增加新的數(shù)據(jù)對象、刪除現(xiàn)在數(shù)據(jù)對象,設置項目屬性等功能。

       導航欄默認顯示在界面的左邊,如果你想讓業(yè)務工作區(qū)更大些,以便有更大的界面空間處理業(yè)務功能,你可以在進入相關的業(yè)務功能模塊后,通過系統(tǒng)菜單或工具欄的導航命令隱藏或顯示功能導航欄。

工作區(qū)

       工作區(qū)是系統(tǒng)工作區(qū)域,工作區(qū)根據(jù)導航和菜單的不同選擇與操作,將會加載不同的功能模塊,用于完成必要的任務。

狀態(tài)欄

       系統(tǒng)狀態(tài)欄上顯示了系統(tǒng)當前的處理任務及任務處理狀態(tài),用于通知用戶,以便及時了解系統(tǒng)的運行情況。

關于

wps_clip_image-17230" border="0" alt="wps_clip_image-17230" src="/up/2010-9/201099224152194.png" />

       提供對當前應用程序的描述信息。包括產(chǎn)品名稱、版本、開發(fā)商、授權(quán)信息等。

數(shù)據(jù)解決方案

概述

       在進行設計數(shù)據(jù)對象之前,需要先規(guī)劃自己的項目以及項目中的項目組織,定義好的數(shù)據(jù)對象項目保存在硬盤上,以方便開發(fā)人員的交流和以后的修改。

新建項目

       打開文件菜單的新建或者工具條上的建新按鈕,對象設計器新建一個數(shù)據(jù)模型項目,并重置導航欄和工具區(qū)。

保存項目

       使用文件菜單中的保存或者工具條中的保存按鈕,如果項目文件已經(jīng)存在于文件系統(tǒng)上,則直接保存文件,如果是新建項目后的第一次保存,則打開另存為對話框保持文件。

       在文件菜單中還提供了一個別存為功能,用于把設計模型保存到其他的文件之中。

打開項目

       使用文件菜單中的打開或者工具條中的打開按鈕,彈出文件打開對話框:

       選擇文件系統(tǒng)已經(jīng)存在的項目文件并打開,系統(tǒng)根據(jù)模型文件重置導航欄和清空工作區(qū):

項目設置

       在數(shù)據(jù)模型中定義了項目的一些命名空間,名稱,標題,開發(fā)語言,數(shù)據(jù)庫設定這樣的東西,在模型設計時可以能過項目參數(shù)進行修改。

       在導航欄的解決方案節(jié)點右鍵選擇“參數(shù)設定”,打開參數(shù)設定模塊:

wps_clip_image-372

       解決方案參數(shù)設計分項目參數(shù)和數(shù)據(jù)庫連接參數(shù),上圖是項目參數(shù),數(shù)據(jù)庫連接設定:

wps_clip_image-1791

       項目名稱、項目標準、程序語言、命名空間等參數(shù)用于在生成數(shù)據(jù)訪問層代碼的過程之中用到,輸出目錄為生成的代碼、文檔、SQL腳本的輸出根目錄。

       數(shù)據(jù)庫連接參數(shù)用于從數(shù)據(jù)庫生成數(shù)據(jù)對象時連接數(shù)據(jù)庫服務器,目前支持SQL2000/2005/2008/Oracle數(shù)據(jù)庫。

數(shù)據(jù)對象定義

概述

       定義數(shù)據(jù)對象是對象設計器中最重要的工作,在對象定義信息中,存儲了程序中ORM對象所需要的對象屬性與數(shù)據(jù)庫表的字段映射信息,同時也存儲了數(shù)據(jù)庫表的定義信息。

       對象設計器設計成的模型用與生成項目的數(shù)據(jù)庫定義文件、數(shù)據(jù)庫DDL腳本以及數(shù)據(jù)訪問層的程序代碼。

對象組織

       對象設計器中提供了一個目錄的概念,即對于數(shù)據(jù)對象很多的解決方案,我們可以選擇在解決方案之中根據(jù)應用建立目錄,數(shù)據(jù)對象按目錄進行組織。

添加目錄

       在導航欄中的實體節(jié)點右鍵點開快捷菜單,選擇“新建目錄”,系統(tǒng)打開目錄屬性圣誕框:

       填寫目錄名稱和說明后點解“確定”按鈕,對話框關閉,新建的目錄加載到導航欄,“取消”按鈕放棄目錄的添加。

       注意:目錄名稱不能為空,也不能和現(xiàn)有的目錄重名。

目錄屬性

       在導航欄中的某個目錄節(jié)點右鍵點開快捷菜單,選擇“目錄屬性”,系統(tǒng)打開目錄屬性圣誕框:

       在目錄屬性對話框中,可以修改目錄名稱和說明,完成成點擊“確定”按鈕完成屬性修改,“取消”按鈕放棄目錄的修改。

刪除目錄

       在導航欄中的某個目錄節(jié)點右鍵點開快捷菜單,在彈出的菜單中選擇“刪除目錄”,系統(tǒng)會提示您是否確認刪除,點擊“是”刪除相應的目錄。

       注意:刪除目錄是系統(tǒng)中刪除目錄信息,不刪除目錄中的數(shù)據(jù)對象定義,原目錄的中的數(shù)據(jù)對象轉(zhuǎn)移到解決方案實體節(jié)點之下。

對象管理

       設計器中數(shù)據(jù)對象有兩個存在模型,直接位于解決方案這下,也可以依附于解決方案的目錄之中,兩種不同的方案可以混合使用,根據(jù)項目的規(guī)模進行合理構(gòu)建。

添加對象

       在導航欄中的實體節(jié)點或者目錄節(jié)點右鍵點開快捷菜單,選擇“新建實體”,系統(tǒng)工作區(qū)打開一個新的對象定義Tab頁:

       在對象定義Tab頁中,可以完成數(shù)據(jù)對象所指向的數(shù)據(jù)庫表信息定義(數(shù)據(jù)表名及字段信息)、ORM對象定義(屬性及屬性與數(shù)據(jù)字的映射)。

刪除實體

       在導航欄中的某個目錄節(jié)點右鍵點開快捷菜單,在彈出的菜單中選擇“刪除目錄”,系統(tǒng)會提示您是否確認刪除,點擊“是”刪除相應的目錄。

       注意:刪除目錄是系統(tǒng)中刪除目錄信息,不刪除目錄中的數(shù)據(jù)對象定義,原目錄的中的數(shù)據(jù)對象轉(zhuǎn)移到解決方案實體節(jié)點之下。

定義實體

       在日常應用中,對象設計器工作的90%是由上圖的界面完成的,在這個界面中,我們完成數(shù)據(jù)對象的定義,間接的完成了數(shù)據(jù)庫的設計、ORM對象的設計。

       實體包含名稱,數(shù)據(jù)表,說明和1-N個屬性記錄,實體的名稱,數(shù)據(jù)庫,說明直接在文本框填寫。

       實體的屬性集合由下面的表格中進行填寫,增加新的屬性/列,在*標記的行中直接進行寫,刪除一條記錄時使用選中某一條,按下刪除鍵即可。

       在屬性定義中,屬性的類型(程序類型)與數(shù)據(jù)類型是聯(lián)動的,即如果在這兩個類型中任務選擇一種,另一個類型都會根據(jù)類型轉(zhuǎn)換器得到一個對應的類型,因為程序中的類型比較廣泛,而數(shù)據(jù)庫的類型比較嚴謹,所以建議的做法是設置數(shù)據(jù)類型比較準確一些。

       實體定義模塊的UI包含著7個Tab頁,最主要的是實體定義Tab頁,還附加了4個代碼Tab頁、一個數(shù)據(jù)庫腳本、一個文檔Tab頁。

四類代碼

       因為AgileEAS.NET平臺ORM系統(tǒng)中對實體和表進行了分別的定義,所以針對每個數(shù)據(jù)對象定義,會生成4個代碼文件,分別為表接口、表實現(xiàn)、實體接口、實體實現(xiàn)。

       在設計器環(huán)境中直接向IDE環(huán)境復制代碼,使用右鍵菜單中的全選、復制即可,也可以通過Ctrl+A、Ctrl+C實現(xiàn)。

DDL腳本

       針對每個數(shù)據(jù)對象定義,工具會生成一段SQL腳本,定義數(shù)據(jù)表的創(chuàng)建和字段,數(shù)據(jù)表和字段的注視等自描述信息也會一并寫進腳步。

       同樣,和程序代碼一樣,可以使用右鍵菜單中的全選、復制即可,也可以通過Ctrl+A、Ctrl+C實現(xiàn)。

文檔定義

       針對每個數(shù)據(jù)對象定義,工具都生成一段數(shù)據(jù)庫定義文檔,包含數(shù)據(jù)表名稱、說明、所有者,各數(shù)據(jù)列名稱、數(shù)據(jù)類型、是否為空、主鍵等信息。

解決方案輸出

概述

       對象設計器提供基于解決方案的代碼輸出、文檔輸出、DDL腳本輸出,可以一步生成供vs2005之上打開的數(shù)據(jù)層項目和解決方案。

輸出代碼

       通過工具菜單中的生成代碼功能打開代碼輸出對話框:

       在對話框中選擇輸入目錄,默認為在解決方案屬性中設計的輸出目錄,點擊“生成”按鈕完成解決方案的生成,輸入如下目錄結(jié)構(gòu):

       我們在VS環(huán)境中打開AgilePM解決方案:

模型修改

       對象設計器生成的代碼采用了分部類的技術(shù)方案,即同一個數(shù)據(jù)對象把生成的4個代碼文件分解成8個代碼文件,其中4個代碼文件生成與數(shù)據(jù)對象屬性定義相關,建議不做修改,文件名中帶有.Generator.cs,并且全部組織在項目的Generat文件夾中,程序代碼中有以下注釋:

//------------------------------------------------------------------------------

// <auto-generated>

//     此代碼由SmartEAS.NET/AgileEAS.NET數(shù)據(jù)模型設計工具生成。

//     運行時版本:2.0.50727.3053

//

//     對此文件的更改可能會導致不正確的行為,并且如果

//     重新生成代碼,這些更改將會丟失。

// </auto-generated>

//------------------------------------------------------------------------------

       另外4個文件用于存儲用戶自定義的數(shù)據(jù)訪問代碼,文件名不帶.Generator.cs,生成的代碼位于項目的根目錄之中。

       為什么要做這樣的設定呢,這得益長期的開發(fā)實踐,市面上有很多代碼生成工具,雖然說生成器工具可以加速開發(fā),但是生成的代碼是絕對不會滿足復雜應用,程序員必須對生成的代碼增加新的功能或者修改,那么當數(shù)據(jù)定義模型發(fā)生改變之后,重新生成的代碼就會把程序員所做的修改覆蓋。

       采用分部類的方案進行分解之后,我們把與數(shù)據(jù)模型定義與程序員的特殊業(yè)務代碼進行了分離,當模型發(fā)生改變之后,重新生成的代碼保留了程序員的修改,只覆蓋Generat文件夾中的代碼文件。

接口驅(qū)動的數(shù)據(jù)訪問層

       AgileEAS.NET平臺一直在實踐著接口驅(qū)動的思想,同時也在建議應用開發(fā)基于接口驅(qū)動,AgileEAS.NET平臺實現(xiàn)一組實用并且簡單的ORM,應用開發(fā)的數(shù)據(jù)訪問層也就是基于ORM技術(shù)的數(shù)據(jù)訪問層。

       我們在應用開發(fā)中,經(jīng)常會遇到同樣的產(chǎn)品需要運行在不同的數(shù)據(jù)庫系統(tǒng)之上,比臺有客戶需要運行在SQLServer之上的版本、有的需要運行在ORACLR之上的版本。

       在這種情況下,采用接口驅(qū)動的數(shù)據(jù)訪問層是一個不錯的選擇;定義一組數(shù)據(jù)訪問層接口組件及其不同數(shù)據(jù)庫類型的的數(shù)據(jù)訪問層實現(xiàn)組件,業(yè)務實現(xiàn)依賴于數(shù)據(jù)接口層而與數(shù)據(jù)實現(xiàn)層解耦,運行期不同的數(shù)據(jù)庫類型需求只需要修改系統(tǒng)的配置文件。

       有關于數(shù)據(jù)接口層的配置請參考《AgileEAS.NET平臺開發(fā)指南》,這里不在詳細說明。

       對象設計器生成的代碼默認是基于接口驅(qū)動的數(shù)據(jù)層,即解決方案中包含兩個項目,一個是數(shù)據(jù)訪問接口層,另一個是基于當前設計時環(huán)境的數(shù)據(jù)庫實現(xiàn)。

       在現(xiàn)實環(huán)境中,有些應用我們從一開始就知道他只可能應用于某種單一的數(shù)據(jù)庫環(huán)境,對于這種應用,如果還采用基于接口驅(qū)動的數(shù)據(jù)訪問層,其修改成本就會略高一些,AgileEAs.NET平臺也支持這種非接口驅(qū)動的數(shù)據(jù)層,即生成單一的數(shù)據(jù)層項目。

       在對象設計器的解決方案屬性中有一個選項“是否生成接口層”,這個選項默認是選中的,如果只是基于單一數(shù)據(jù)庫,請取消選擇,項目的輸出方案則變?yōu)椋?/p>

DDL腳本

       通過工具菜單中的生成腳本功能打開腳本輸出對話框:

       在對話框中選擇輸入文件,默認為在解決方案屬性中設計的輸出目錄之下的SqlScript\TableCreate.sql,點擊“生成”按鈕完成DDL腳本的生成,用SQL Server Management Studio打開生成的腳本文件:

文檔瀏覽

       通過在“工具”菜單中的“文檔瀏覽”即可以在工作區(qū)打開一個解決方案文檔瀏覽窗口,顯示解決方案中所有數(shù)據(jù)對象/數(shù)據(jù)表定義信息:

       開發(fā)人員可以直接復制到word、wps等字處理軟件進行編輯,也可以直接使用“工具”菜單中的輸出文件(Rtf、Excel、Html)直接輸出數(shù)據(jù)庫定義文檔:

輸出文檔

       通過在“工具”菜單中的“輸出文件(Rtf)”、“輸出文件(Excel)”、“輸出文件(html)”打開文檔輸出對話框:

       通過“瀏覽..."按鈕選擇輸出文件或者使用默認的文件路徑,最后點擊“生成”按鈕完成數(shù)據(jù)庫文件的輸出:

       Excel格式:

       html格式:

       Rtf格式:

從數(shù)據(jù)庫生成

概述

       對象設計器不僅提供了基于原生的數(shù)據(jù)對象定義模型生成數(shù)據(jù)庫表對象的能力,同時也提供了從現(xiàn)在的數(shù)據(jù)庫對象反向生成數(shù)據(jù)對象定義的能力(反向生成)。

操作步驟

       通過“工具”菜單中的“從數(shù)據(jù)庫生成”功能打開數(shù)據(jù)庫連接對話框:

       選擇反向生成的源數(shù)據(jù)庫類型,填寫服務器、用戶名、密碼等信息(默認為解決方案的數(shù)據(jù)庫連接信息),點擊“下一步”打開數(shù)據(jù)庫表、視圖選擇對話框:

       數(shù)據(jù)庫中的數(shù)據(jù)庫、視圖基于用戶/架構(gòu)、數(shù)據(jù)表/視圖的組織方式,首先選擇相應的用戶/架構(gòu),再選擇要導入的數(shù)據(jù)庫表、視圖,點擊“開始”完成導入數(shù)據(jù)對象到當前模型定義:

       反向生成工具會讀取數(shù)據(jù)庫元數(shù)據(jù)定義信息如字段名稱、數(shù)據(jù)類型、長度、主鍵、是否為空、注釋等信息,生成相應的數(shù)據(jù)定義模型,開發(fā)人員需要進行修改,主要是數(shù)據(jù)對象的屬性名稱大小寫調(diào)整,默認生成的屬性為首字母大寫,以及補充數(shù)據(jù)對象、數(shù)據(jù)庫表字段的標題、注釋信息。

    PPT圖表
    (111)PPT圖表
    我們在制作各類的時候,或多或少的都能用到圖表。圖表它可以直觀的展示出各種信息數(shù)據(jù),有了圖表你就可以很好的將數(shù)據(jù)更直觀準確的表達出來。小編在這里為大家搜集整理了一些大家可能會用到的圖表模板,歡迎有需要的各位前來下載。...更多>>

    相關評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(2)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)