2018-03-22 15:52:53 Ysiqiqi 閱讀數 1927javascript
版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接和本聲明。html
本文連接:https://blog.csdn.net/Ysiqiqi/article/details/79654919java
Devexpress XAF框架——基本知識web
XAF優勢sql
1、一次編碼,多種平臺同時使用數據庫
經過一次代碼編碼寫,能夠同時產生四種項目:express
1,Web項目(b/s)編程
2,win項目(c/s)框架
3,平板電腦(beta)編輯器
4,移動端(beta)
其中web/win是兩個項目,3,4都是web項目,只是使用了不一樣的適應界面能夠在移動設備和平板電腦上進行瀏覽操做等。
在Sliverlight剛出現的一段時間內,XAF曾試圖支持Silverlight版本,不過因爲HTML5的興起,微軟至今應該把Sliverlight放到角落裏了,因此也致使了Dev公司不支持Sliverlight了。不過他們有些Sliverlight的控件。
WPF也算是不死不活的狀態,至少我看到的應用不多。VS除外,那是MS本身的東西:D
sliverlight若是沒有HTML5的出現,是個不錯的東西,太惋惜了,HTML5的興起,又將咱們拉回該死的javascript開發中來了。
2、數據庫支持
這應該是XPO的優勢,支持14種數據庫,SqlServer,Oracle,MySql,DB2.....常見的庫都支持了。切換數據庫時,無需修改源碼,固然若是你開始用了Oracle而且手工調用了SQL語句,在sqlserver中確定是不能正確執行的。
支持Entity Framework,雖然我不用這個,可是DEV仍是支持了,多是由於M$太強的緣由吧。
3、國際化本地化支持
XAF支持多國語言版本,應用程序開發完成後,能夠在應用程序模型中生成各類語言的本地化翻譯文件,這也算是高大上的支持了吧。
4、自動機制
•由領域對象開始
•自動創建數據庫
•自動創建界面
▫列表界面
▫詳細界面
▫搜索界面
•內置增刪改查,無需SQL編程
5、AOP應用
AOP是面向方面的應用,XAF中被應用到了極致,好比,系統內置的 保存按鈕,不管你有多少個業務對象,只要這一個保存按鈕,它們的行爲是一致的,都是保存到數據庫的表中去,若是你須要修改保存按鈕的文字,只要在一個地方修改,整個系統中都變了。
模塊化應用:
假如咱們開發一個Excel數據導入功能,一樣,咱們能夠應用於全部業務對象中去,作一次導入功能,全部地方當即使用。XAF內置了很是豐富的元數據,咱們可使來用。
控件的複用:
系統中有不少地方須要用到一個控件,好比時間選擇,XAF默認沒有這些控件時,咱們能夠開發出來,並能夠設置爲默認控件,例如應用到Timespan類型上去,只需一步,整個系統都會應用此控件。
XAF中有許多這樣的自動機制,能一次解決的,堅定不用作兩次,拒決重複,拒決複製。
6、元數據管理
元數據是指咱們的程序中代碼自身的信息,好比類叫什麼名字,它繼承自哪一個類,實現了哪些接口,有哪些Attribute,有哪些屬性?
是在,在.net中,用反射能夠取獲得這些信息。在信息系統開發中,這個元數據會獲得擴展,好比這個類將會在界面上顯示的文字是什麼,填寫數據時有哪些要求,過濾條件是什麼等等 。
你會說,這不就是咱們本身寫的代碼嗎?
在XAF中這些信息也是須要維護的,咱們在給客戶寫程序時是在幫助客戶管理他們的信息。他們是信息化水平提升了。但咱們本身的代碼,本身的系統自己也是一個信息量龐大的須要管理的內容。咱們若是不是到處考慮規劃程序自己的內容,那後面亂作一團也是很正常的事情了。
看面向對象的軟件設計中,不正是使用了各類概念對這些內容進行了規劃嗎?
因而有了一個名詞叫元編程,也是讓人着迷的東西。
那麼元數據管理有什麼用呢?它仍是和AOP概念結合使用方顯功效的。
好比:我想讓全部擁有「名稱」屬性的類型,都在界面顯示爲紅色,咱們可使用編程方式
foreach(var x in classes) { if(x.members.contains('名稱')){ var member = x.members["名稱"]; member.backColor = Color.Red; } }
這只是一段僞代碼,若是用傳統的開發方式,每一個界面這樣操做一次,可能會產生不少錯誤吧,最大的問題是,咱們須要那麼笨的處理平常問題嗎?
咱們爲何沒有簡單方法,節省出時間,不作那種無聊的修改呢?
另外,元數據也是能夠擴展的,內置的沒有提供的,咱們能夠本身實現。
7、DomainComponents技術
一般被XAF開發人員簡稱爲DC技術,DC技術是使用接口定義業務邏輯對象的,在EF中,咱們一般是用class來定義一個業務對象,使用接口來定義業務邏輯會更快更簡捷,我認爲最大的一個好處是實現了多繼承,如:
public interface 客戶{ ...... } public interface 公司{ } public interface 我的{ } public interface 公司客戶:公司,客戶 { } public interface 我的客戶:我的,客戶 { }
這樣是多麼簡單,若是使用class,只支持單繼承,另外一個接口中的內容,只能手工再次重複敲出代碼,那是多麼無聊的事情。
有一點小小遺憾的是,DC技術還不支持泛型機制,若是之後可以支持,那它是完美的。在一個進銷存系統中,單據無比多,但無非是出庫類,入庫類,不出不入庫類,這三種,而後就有了各類能夠想出來的組合,組合出了N多張單據,咱們如果使用了DC技術,天空瞬間晴朗了。
8、內置功能模塊
1、權限模塊:
1.支持業務對象級別的權限,增刪改查看權限。
2.支持字段級權限,某個字段可讀可寫。
3.支持行級權限,某個業務對象中某些條件的記錄是否有權限進行 刪 、改、查看
4.支持上述4種混合權限
5.支持角色,並支持角色嵌套,即,角色3=角色2+角色1
2、審記模塊
用於實現業務對象的變動的每一個環境,建立時間、修改時間、刪除時間,修改內容,每一個屬性從什麼值變動爲何值,何人操做的。
生成的記錄至關多,不過能夠選擇性記錄,或自定義。
3、 Business Class Library Customization Module 業務對象支持
這是基礎模塊了,實現了業務對象的無SQL CRUD操做。
4、圖表模塊
能夠實現各類圖表的顯示,柱狀圖,餅圖之類的,若是你用過DEV的控件,你就已經看過它的效果圖了。
5、Clone Objct模塊
實現了業務對象的複製,這是一個小模塊。
6、Conditional Appearance Module Overview
條件外觀模塊,很是經常使用的模塊,實現全局的控制控件是否可用,可見,顏色、字體等 。
7、FileAttachment Module,文件附件模塊
用於管理附件文件,能夠傳到數據庫中,也能夠個性化爲文件系統。
8、HTML Property Editor
在業務對象中可使用html編輯器。
9、Notifications Module
提醒模塊,像outlook同樣,到達某時間給出一個彈出提醒,能夠選擇推遲或取消,能夠在業務模塊中進行個性化。
好比,到時間提醒去聯繫客戶,更新訂單等操做。
10、KPI模塊
績效考覈模塊,工做的朋友應該都被考覈過吧,是標準的模塊,能夠提供一些圖表。
11、Maps模塊
支持地圖的顯示,這個我尚未用過,不過看起來還不錯。
12、Pivot Chart Module
交叉數據分析表+圖表模塊,在Excel中有交叉數據透視分析表,由於樣子長得同樣,我就這麼翻譯了。
這個確實至關強大,客戶可操控性很強,要什麼數據統計結果,爲所欲爲,固然,客戶要願意操做。
這個模塊同時帶了圖表顯示,能夠將Pivot中的數據同時顯示成圖表,很直觀。
十3、Pivot Grid Module
和上面的同樣,只有Pivot表格的顯示。
十4、報表模塊
當前版本是15.2了,新的功能不斷在增長,之前的版本中咱們一直在等不少很好的功能。好比報表模塊,之前只能在win中作報表設計,如今web中也有了報表設計器了。
至關高大上。
十5、Scheduler 模塊
和Outlook中的日曆同樣。
十6、狀態機模塊
作簡單審批流用的,還不錯。
十7、TreeListEditor
樹形列表模塊,這個也很經常使用。
十8、驗證模塊
這個使用頻率是最高的,必填驗證,惟一驗證等 ,你能想到的都有了。固然也提代了擴展接口。
十9、View Variant
讓一個業務對象有多種是顯示方式,並能夠快速切換。好比圖表界面切換成樹形視圖。
二10、工做流模塊
就是工做流了,當前只在winform下可用。
9、缺點
1.須要學習
2.體系龐大
好吧,今天就介紹這麼多吧,我也只能想到這麼多了!另外,本文發表時,我已經寫了6篇入門教程,若是須要請來個人blog中查看。
另外,就算你不打算用XAF也沒有關係,咱們在本身設計系統時,多多借鑑別人的好思路,是很重要的。
XAF也不是完美的,永遠沒有完美的工具,對的時候選擇對的工具吧!
說了這多,上幾張圖片,看看到底開發的系統長什麼樣吧!
Devexpress XAF框架——安裝軟件介紹
1.安裝vs2015
2.安裝一下 http://119.23.108.47/DevExpressComponents-16.1.4.16195.rar
3.安裝sql server數據庫