小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

信息系統(tǒng)開(kāi)發(fā)平臺(tái)OpenExpressApp - 總體架構(gòu)的由來(lái)

 快樂(lè)學(xué)習(xí) 2010-01-06

信息系統(tǒng)開(kāi)發(fā)平臺(tái)OpenExpressApp - 總體架構(gòu)的由來(lái)

  我們經(jīng)常在對(duì)相同需求進(jìn)行著重復(fù)的設(shè)計(jì)和編碼,這使得開(kāi)發(fā)效率低,而且質(zhì)量也得不到保證,OpenExpressApp 就是抽取了信息系統(tǒng)的一些共性,用平臺(tái)的方式提供大粒度的重用,提高開(kāi)發(fā)效率和質(zhì)量。

  在《信息系統(tǒng)開(kāi)發(fā)平臺(tái)openexpressapp 1.0發(fā)布》中提到過(guò),OpenExpressApp不會(huì)帶給大家創(chuàng)新性的技術(shù),而是將現(xiàn)有技術(shù)和產(chǎn)品中有價(jià)值的部分引入到一起,它要做的是整合別人已經(jīng)實(shí)踐的方法,提高我們自身的開(kāi)發(fā)能力,以求快速、高質(zhì)量的開(kāi)發(fā)產(chǎn)品。

  下面我將通過(guò)對(duì)現(xiàn)有技術(shù)和產(chǎn)品的參考來(lái)講解OpenExpessApp的架構(gòu),理解這些參考技術(shù)的架構(gòu)是理解OpenExpressApp架構(gòu)的最好辦法。

為了提高產(chǎn)量和代碼質(zhì)量,我研究過(guò)一些產(chǎn)品和方法,而MetaEdit+是建立在DSM方法之上的工具,能夠比較好提高產(chǎn)量和質(zhì)量。

現(xiàn)有技術(shù)和和產(chǎn)品

下面我先介紹一下MetaEdit+。

MetaEdit+

MetaEdit+是全球DSM領(lǐng)域內(nèi)著名的產(chǎn)品,它能夠帶來(lái)以下好處:

  • 縮短上市時(shí)間,開(kāi)發(fā)生產(chǎn)力能夠提高5-10倍
  • 開(kāi)發(fā)人員可以集中設(shè)計(jì)和關(guān)注業(yè)務(wù)功能,而不必用代碼去寫(xiě)所有方面的內(nèi)容
  • 由于使用的是經(jīng)過(guò)驗(yàn)證的工具,產(chǎn)品質(zhì)量顯著提高
  • 可以完全控制模型和代碼生成,而不像MDA方法模型和代碼生成固定,不便于特定領(lǐng)域開(kāi)發(fā)

     

 

  從上圖DSM方法知道模型和生成器是DSM的核心部分,而MetaEdit+的元模型比較好,所以O(shè)penExpressApp的建模工具中模型部分將參考MetaEdit+。(由于現(xiàn)在還沒(méi)有開(kāi)始這部分內(nèi)容,所以在這里就先不介紹了。)

  從上圖可以看到領(lǐng)域框架也是重要部分,所以接下來(lái)我就需要去搜索比較好的框架來(lái)參考。在我參考一些框架之后,我覺(jué)得DevExpress eXpressApp Framework比較適合,它是.Net下的一個(gè)應(yīng)用框架。

DevExpress eXpressApp Framwwork (XAF)

DevExpress eXpressApp Framework是一種快速業(yè)務(wù)開(kāi)發(fā)平臺(tái),它可以通過(guò)一個(gè)模型同時(shí)支持C/S和B/S應(yīng)用。
它主要提供以下功能:

  • 一個(gè)架構(gòu),OpenExpressApp參考了這個(gè)架構(gòu)。如有圖所示。
  • XPO,一個(gè)ORM
  • 對(duì)業(yè)務(wù)應(yīng)用的UI進(jìn)行了抽象,形成了一個(gè)UI模型,我叫它為AutoUI,就是通過(guò)類(lèi)庫(kù)以及模型自動(dòng)生成界面,后面博文中我會(huì)單獨(dú)解析AutoUI在OpenExpressApp的實(shí)現(xiàn)。
  •  模塊化架構(gòu)
  • 基礎(chǔ)類(lèi)庫(kù)
  • 基于角色的安全實(shí)現(xiàn)
  • 數(shù)據(jù)驗(yàn)證
  • 本地化支持
  • 報(bào)表
  • 與Visual Studio IDE 繼承

  OpenExpressApp名稱(chēng)中的ExpressApp詞就來(lái)自這個(gè)應(yīng)用框架,所以也暗示著OpenExpressApp參考了很多XAF的思想(架構(gòu)、模塊化、AutoUI等)。

  XAF的基礎(chǔ)類(lèi)庫(kù)建立在OO的思想上,所以我還需要一個(gè)支持OO的框架。而CSLA可以很好的支持類(lèi)庫(kù)開(kāi)發(fā)和應(yīng)用。

CSLA

CSLA 是Component-based, Scalable, Logical Architecture的簡(jiǎn)寫(xiě),它是由Rockford Lhotka1999年開(kāi)始編寫(xiě)的基于.Net的一套N-tier分布式框架。它還在不斷更新,現(xiàn)在也支持Silverlight。

它包含如下功能:

  • 支持部署為單機(jī)、局域網(wǎng)和廣域網(wǎng)
  • 允許生成面向?qū)ο蟮臉I(yè)務(wù)層來(lái)封裝業(yè)務(wù)邏輯和數(shù)據(jù)
  • n層撤銷(xiāo)功能
  • 跟蹤違反業(yè)務(wù)規(guī)則以確定某個(gè)對(duì)象是否有效
  • 跟蹤某個(gè)對(duì)象的數(shù)據(jù)是否發(fā)生了改變(是否“變臟”?)
  • 支持對(duì)于子對(duì)象的基于強(qiáng)類(lèi)型的集合
  • 針對(duì)UI開(kāi)發(fā)人員的一種簡(jiǎn)單抽象模型
  • 對(duì)于Windows Forms、WPF和Web Forms中數(shù)據(jù)綁定的支持
  • 表驅(qū)動(dòng)的安全機(jī)制
  • 其他各種特性

信息系統(tǒng)應(yīng)用模塊和功能會(huì)比較多,所以框架支持模塊化就顯得比較重要。第一階段OpenExpressApp將實(shí)現(xiàn)基于WPF的應(yīng)用,而微軟模式小 組編寫(xiě)的Composite WPF and Silverlight除了支持WPF外,也可以很好的支持模塊化,所以我也使用了Composite WPF and Silverlight。

Composite WPF and Silverlight

XAF框架中不僅有類(lèi)庫(kù),還有報(bào)表支持,而報(bào)表在信息系統(tǒng)中是不可缺少的,所以我還需要找到一個(gè)比較好的報(bào)表系統(tǒng)。我?guī)啄昵把芯窟^(guò)一陣子報(bào)表,潤(rùn)乾報(bào)表是我覺(jué)得模型最好的一個(gè)。感興趣的可以參考我以前寫(xiě)的《研究潤(rùn)乾報(bào)表的實(shí)現(xiàn)》,在《軟件工廠方法(二):軟件工廠應(yīng)用》中我也介紹過(guò)研究的一些方法。

潤(rùn)乾報(bào)表

  • 類(lèi) Excel 報(bào)表設(shè)計(jì)模型
  • 非線性報(bào)表模型
  • 多源填報(bào)模型
  • 強(qiáng)關(guān)聯(lián)語(yǔ)義模型

 

以上主要說(shuō)的是框架主要部分參考內(nèi)容,框架思路選定后還需要一個(gè)集成環(huán)境來(lái)開(kāi)發(fā),所以我又去找了幾個(gè)基于模型驅(qū)動(dòng)開(kāi)發(fā)的軟件平臺(tái),目前準(zhǔn)備參考MendixNovulo
 

Mendix 


Novulo

 


 

 

依據(jù)以上參考和個(gè)人經(jīng)驗(yàn),確定了如下一些架構(gòu)指導(dǎo)思想。這個(gè)在《OpenExpressApp架構(gòu)-一個(gè)信息系統(tǒng)開(kāi)發(fā)平臺(tái)》也有所介紹

架構(gòu)總體思想

  • 基于單項(xiàng)目開(kāi)發(fā) - 基于產(chǎn)品線開(kāi)發(fā)
  • 以獨(dú)立技術(shù)為中心  - 以業(yè)務(wù)集成平臺(tái)為中心
  • 代碼 - 模型
  • 面向數(shù)據(jù)庫(kù)開(kāi)發(fā)  -  面向?qū)ο?/span>
  • 不同復(fù)用層次: 函數(shù)/類(lèi) - 模塊/引擎 - 應(yīng)用包/框架

OpenExpressApp架構(gòu)

 

以上對(duì)OpenExpressApp架構(gòu)的起源以及參考的現(xiàn)有產(chǎn)品進(jìn)行了簡(jiǎn)單介紹,后期我會(huì)對(duì)我如何使用這些產(chǎn)品或者采用這些產(chǎn)品思想分別進(jìn)行介紹。如果大家對(duì)OpenExpressApp內(nèi)部比較感興趣的話(huà),則理解這些已有產(chǎn)品將會(huì)有很大幫助。

 

相關(guān)文章鏈接:

  1. OpenExpressApp架構(gòu)-一個(gè)信息系統(tǒng)的平臺(tái) 
  2. 訂單示例 
  3. 總體架構(gòu)的由來(lái) 
  4. 平臺(tái)學(xué)習(xí)必備知識(shí) 
  5. 代碼目錄說(shuō)明 
  6. 應(yīng)用模型ApplicationModel 
  7. 內(nèi)置支持的模塊類(lèi)型 
  8. 內(nèi)置支持的屬性編輯方式 
  9. 內(nèi)置支持的列表編輯方式 
  10. 理解核心元素ObjectView 
  11. AutoUI自動(dòng)生成界面 
  12. Command擴(kuò)展機(jī)制
  13. 支持列表分組(Group)

  14. 如何部署OEA應(yīng)用
  15. 配置CSLA的WCF數(shù)據(jù)門(mén)戶(hù)代理
  16. CSLA約定及框架約定
  17. CSLA類(lèi)庫(kù)編寫(xiě)
  18. 數(shù)據(jù)懶加載
  19. 模型相關(guān)Attribute介紹
  20. 性能相關(guān)
  21. 支持差異保存
  22. 支持WPF主題樣式
  23. 支持勾選視圖

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多