溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述

發(fā)布時(shí)間:2020-04-10 05:34:41 來(lái)源:網(wǎng)絡(luò) 閱讀:747 作者:hot的fans 欄目:軟件技術(shù)

 

開(kāi)篇

        在前面的章節(jié)中,我們說(shuō)明了如何使用AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)倆開(kāi)發(fā)藥店系統(tǒng),但是我們沒(méi)有從總體上去說(shuō)明AgileEAS.NET的一些功能,我們都是在細(xì)節(jié)上講述了

一些該平臺(tái)的相關(guān)特性,我們?cè)谒幍晗到y(tǒng)的開(kāi)發(fā)過(guò)程中,只是包含了該平臺(tái)的大部分功能,還有一些功能,并沒(méi)有使用到,可能我們后續(xù)會(huì)繼續(xù)講述這些功能。本文就將之前

開(kāi)發(fā)的藥店系統(tǒng),來(lái)進(jìn)行總結(jié)和綜述吧,之前放出的文章中的配套文檔相對(duì)來(lái)說(shuō),還有一些內(nèi)容還需要完善,不過(guò)大體上已經(jīng)很詳盡了,本來(lái)想把概要設(shè)計(jì)文檔也放出的,但

是我本機(jī)沒(méi)有特別好的UML建模工具,所以就擱淺了,對(duì)大家說(shuō)抱歉了。下面我們就來(lái)總結(jié)藥店系統(tǒng)開(kāi)發(fā)過(guò)程中的心得和體會(huì)。

大綱

         1、AgileEAS.NET解決了藥店系統(tǒng)開(kāi)發(fā)中的哪些問(wèn)題。

         2、藥店系統(tǒng)中用到了AgileEAS.NET平臺(tái)中的哪些技術(shù)。

         3、并且分析這些技術(shù)在其他領(lǐng)域的應(yīng)用。

AgileEAS.NET平臺(tái)解決的開(kāi)發(fā)問(wèn)題

          我們?cè)谒幍曛杏龅降膯?wèn)題,前面也有具體的文檔有分析過(guò),平臺(tái)提供的功能也是比較強(qiáng)大,主要的功能圖如下:

          AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述

          從上圖中我們也可以發(fā)現(xiàn),我們的非功能性方面的需求,例如藥店系統(tǒng),需要支持分布式訪問(wèn)支持等。包括一些部署等方面的要求等等。

          1、打印問(wèn)題:

           我們的可選擇:

           水晶報(bào)表:微軟提供的報(bào)表解決方案,功能強(qiáng)大,我認(rèn)為使用該報(bào)表可以做出來(lái)一切報(bào)表,唯一缺點(diǎn),需要客戶機(jī)安裝,否則無(wú)法使用。

           FastReport:非常強(qiáng)大的報(bào)表。支持可拖拽,非免費(fèi),收費(fèi)。有一個(gè)開(kāi)源版本,但是好像不是.NET的。

           AgileEAS.NET平臺(tái)報(bào)表:提供強(qiáng)大的可視化設(shè)計(jì)器,并且也支持復(fù)雜的交叉報(bào)表的設(shè)計(jì),并且是免費(fèi)的,永久的,并且是開(kāi)源的報(bào)表。并且提供了二種方案的支持,

           一種是基于平臺(tái)的報(bào)表設(shè)計(jì)器,一種是獨(dú)立的設(shè)計(jì)器。

          2、分布式訪問(wèn)支持

           我們的選擇:

           自己開(kāi)發(fā):基于WCF或直接使用Remoting,WebService來(lái)進(jìn)行服務(wù)端與客戶端之間的通信。

           市面上的一些免費(fèi)的并且可商業(yè)應(yīng)用免費(fèi)的分布式訪問(wèn)中間件:

           AgileEAS.NET分布式訪問(wèn)中間件:提供了普通模式與分布式訪問(wèn)模式的熱切換,只需要通過(guò)配置文件來(lái)簡(jiǎn)單配置即可。具體的內(nèi)容可以參考系列文章中的分布式訪問(wèn)配

置與部署。具體文章《AgileEAS.NET平臺(tái)開(kāi)發(fā)實(shí)例-智能升級(jí)及服務(wù)器部署》。

           3、ORM問(wèn)題:

           我們的選擇:

           開(kāi)源的免費(fèi)的ORM組件:

           NHibernate:NHibernate是把Java的Hibernate核心部分移植到Microsoft .NET Framework上。它是一個(gè)對(duì)象關(guān)系映射工具,其目標(biāo)是把.NET對(duì)象持久化到關(guān)系數(shù)據(jù)庫(kù)。

           Spring.NET:Spring.NET框架包括很多功能,Spring.NET 1.0包括完整的IoC容器和AOP類庫(kù)。1.1版加入Web、ORM和數(shù)據(jù)模塊。

           Castle:Castle是由Hamilton Verissimo撰寫的,從2003年就開(kāi)始開(kāi)發(fā),并在2006年11月發(fā)布了1.0 RC2 。2007年09發(fā)布了1.0 RC3版本。Castle是個(gè)輕量級(jí)(Lightweight)容器(Container)、實(shí)現(xiàn) IoC(Inversion of Control)概念,是一個(gè)全方位的應(yīng)用程序(Application)框架(Framework),并提供相關(guān)的一系列工具

           IBatis:iBATIS 是一個(gè)可以設(shè)計(jì)和實(shí)現(xiàn)更好的 Java/.NET 應(yīng)用程序持久化層的框架。iBATIS 把對(duì)象和存儲(chǔ)過(guò)程或者使用 XML 描述符的 SQL 語(yǔ)句進(jìn)行了關(guān)聯(lián)。

           AgileEAS.NET平臺(tái)提供的ORM:

           支持二種模式,一種是ActiveRecord模式,一種是表模式+ActiveRecord相結(jié)合的形式,總體來(lái)說(shuō),都是提供一個(gè)ORM訪問(wèn)的功能支持。并且基于ORM組件,提供了

強(qiáng)大的數(shù)據(jù)庫(kù)模型設(shè)計(jì)器,通過(guò)該設(shè)計(jì)器來(lái)提供解決方案的生成及數(shù)據(jù)庫(kù)的相關(guān)雙向工程的相關(guān)工作。

            4、資源管理器

            目前市面上提供的這樣的組件的生命周期管理的資源管理平臺(tái),開(kāi)源的不多,當(dāng)然就像OSGI所提供的功能已經(jīng)非常強(qiáng)大,可以看作是這樣的資源管理平臺(tái),通過(guò)定義插

件契約,不同的模塊都能被這樣的平臺(tái)識(shí)別并提供相關(guān)的基礎(chǔ)服務(wù)。

               相關(guān)的OSGI的平臺(tái)也是例子比較多,這里就不詳述了。

               AgileEAS.NET提供了平臺(tái)+插件的開(kāi)發(fā)思想,提供這樣的插件的資源管理平臺(tái),管理插件的資源的分配與回收,并且管理插件的生命周期。

               關(guān)于資源管理平臺(tái)的具體的插件契約的說(shuō)明及資源管理平臺(tái)的使用,請(qǐng)參考如下藥店中的相關(guān)文章的介紹。

                《AgileEAS.NET平臺(tái)開(kāi)發(fā)實(shí)例-藥店系統(tǒng)-準(zhǔn)備開(kāi)發(fā)環(huán)境(中)》

               5、權(quán)限控制系統(tǒng):

                關(guān)于權(quán)限這樣,大家的經(jīng)驗(yàn)都是比較多了,如果深入剖析的話,可能就是無(wú)法剖析完全,每個(gè)人對(duì)權(quán)限的設(shè)計(jì),都有幾個(gè)思路,目前的比較流行的權(quán)限控制系統(tǒng),微

軟提供的RBAC標(biāo)準(zhǔn)的權(quán)限模型,關(guān)于具體的介紹,網(wǎng)上搜索,資料也是非常的多,思路也是非常的清晰。

                大家一般在開(kāi)發(fā)一個(gè)應(yīng)用系統(tǒng)時(shí),可能權(quán)限控制的問(wèn)題,也會(huì)被弄得焦頭爛額的時(shí)候,這個(gè)時(shí)候,需要權(quán)限系統(tǒng)的控制,那么我們?nèi)绻约洪_(kāi)發(fā)一些基礎(chǔ)的權(quán)限功

能,也是需要花費(fèi)非常大的精力和時(shí)間。

                 平臺(tái)本身提供了簡(jiǎn)單的權(quán)限控制模塊,關(guān)于權(quán)限的分配與控制的原理解析,AgileEAS.NET平臺(tái)權(quán)限管理=Windows2000的權(quán)限控制思路,通過(guò)ACL來(lái)控制模塊的相

關(guān)權(quán)限。具體的權(quán)限配置與分配,請(qǐng)參考如下文章:《AgileEAS.NET平臺(tái)開(kāi)發(fā)實(shí)例-藥店系統(tǒng)-功能發(fā)布[權(quán)限配置][下]》

                6、智能客戶端:

                 關(guān)于智能客戶端這塊,我想大家對(duì)于C/S這樣的架構(gòu)的思路,基本上都是差不多,關(guān)鍵是該組件的使用與自己的應(yīng)用程序相結(jié)合時(shí),是否能夠方便的應(yīng)用,當(dāng)然如果

說(shuō)自己開(kāi)發(fā)的話,也就不需要考慮這塊的內(nèi)容了

                  平臺(tái)也是提供了這一方面的支持,提供了二種模式的選擇,一種是WebService的還有一種是Remoting的,.NET平臺(tái)下,使用Remoting的方式,更新的速度快,

效率高。

                 7、其他

                 快速的插件構(gòu)建及方便的測(cè)試環(huán)境支持,通過(guò)平臺(tái)提供的測(cè)試環(huán)境,很方便的運(yùn)行調(diào)試程序。更高的開(kāi)發(fā)效率。

 

藥店開(kāi)發(fā)中用到的AgileEAS.NET平臺(tái)技術(shù)

        在藥店系統(tǒng)的開(kāi)發(fā)的過(guò)程中也是使用到了平臺(tái)提供的方方面面的技術(shù)了,基本上理解了藥店系統(tǒng)的開(kāi)發(fā)流程,對(duì)平臺(tái)的使用可以說(shuō)是掌握了精髓的東西,如何能夠快速的

使用平臺(tái)進(jìn)行功能模塊的開(kāi)發(fā)是,我們追求的目標(biāo)。也是開(kāi)發(fā)該藥店系統(tǒng)的一個(gè)重要的目的。

        1、ORM技術(shù):

        AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述

         對(duì)象關(guān)系映射,平臺(tái)提供了ORM的功能支持,在藥店系統(tǒng)中使用了這塊的功能,通過(guò)代碼生成器,提供了ORM底層代碼的自動(dòng)生成,這樣能夠達(dá)到代碼的一致性和較好

的可讀性和可維護(hù)性等。

        2、分布式及智能客戶端:

        AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述

        通過(guò)平臺(tái)提供的分布式訪問(wèn)組件+智能客戶端支持,提供了分布式數(shù)據(jù)通信、智能客戶端+服務(wù)器部署功能等功能,只需要通過(guò)相關(guān)工具使用后就能完成相關(guān)功能。

       3、基礎(chǔ)功能:

        AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述權(quán)限管理模塊:提供權(quán)限的管理功能。

        AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述資源管理平臺(tái):提供插件的管理功能。

        4、報(bào)表服務(wù):

        AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述報(bào)表:提供設(shè)計(jì)器+報(bào)表的打印服務(wù)。

        5、插件+平臺(tái)的開(kāi)發(fā)思想:

        AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述插件+平臺(tái)的開(kāi)發(fā)思想。

         6、軟件工程:

         AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述軟件+AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述工廠=軟件工程

         該平臺(tái)提供的是插件+平臺(tái)的敏捷并行開(kāi)發(fā)方法。

         AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述

AgileEAS.NET的技術(shù)在其他領(lǐng)域的應(yīng)用

       上面講述了AgileEAS.NET平臺(tái)提供的一些功能,是主要的功能,但不是全部,有很多的功能,還得繼續(xù)發(fā)掘才能發(fā)現(xiàn),我們下面就來(lái)分析下AgileEAS.NET平臺(tái)在其他的

應(yīng)用場(chǎng)景的應(yīng)用。

        1、單獨(dú)使用ORM,來(lái)快速的完成數(shù)據(jù)的持久化。

        AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述

         ORM組件負(fù)責(zé)通用的持久化服務(wù),提供一個(gè)充血模型,來(lái)完成相關(guān)的數(shù)據(jù)訪問(wèn)支持。AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述

        2、單獨(dú)使用報(bào)表服務(wù):

        可以脫離ORM來(lái)使用:

        AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述通過(guò)單獨(dú)的訪問(wèn)組件,來(lái)提供報(bào)表定義文件的訪問(wèn),進(jìn)而使用打印服務(wù),關(guān)于具體的脫離使用,請(qǐng)參考如下文章

      《AgileEAS.NET平臺(tái)開(kāi)發(fā)實(shí)例-藥店系統(tǒng)-報(bào)表開(kāi)發(fā)(高級(jí)篇)》

        3、分布式部署與智能客戶端

        AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述

         由于工具基于AgileEAS.NET平臺(tái)開(kāi)發(fā),所以使用起來(lái),會(huì)有一些限制,總體來(lái)說(shuō)限制并不大。只要很好的配置即可。

         4、插件+平臺(tái)

         上面我們也是分析了軟件工程方面的內(nèi)容,我們就知道了,該平臺(tái)的主要價(jià)值的體現(xiàn),是在軟件開(kāi)發(fā)過(guò)程的相關(guān)改進(jìn),提供開(kāi)發(fā)速度,降低開(kāi)發(fā)的成本,并且可以實(shí)現(xiàn),

敏捷并行的開(kāi)發(fā)方法,通過(guò)每個(gè)開(kāi)發(fā)人員負(fù)責(zé)一個(gè)功能模塊的開(kāi)發(fā),最后組裝到平臺(tái)中,完成集成與部署。而這些模塊不會(huì)因?yàn)楣δ艿姆蛛x而影響開(kāi)發(fā),當(dāng)然敏捷開(kāi)發(fā)中的用

戶故事的提煉也是基于這樣的分配思路。

         5、基礎(chǔ)服務(wù)

         權(quán)限管理:必須是符合平臺(tái)契約的插件,才能被權(quán)限分配及管理,否則無(wú)法被平臺(tái)識(shí)別。

         所以權(quán)限管理功能,必須符合插件契約才可以,無(wú)法單獨(dú)脫離契約存在。

         其他的底層基礎(chǔ)服務(wù),也需要相關(guān)基礎(chǔ)組件的支持,平臺(tái)提供了AOP,IOC等相關(guān)組件的支持。

         6、更多服務(wù)

         AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述持續(xù)更新,強(qiáng)大的團(tuán)隊(duì)支持。

          AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述強(qiáng)大的工作流+表單設(shè)計(jì)器。

           AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述更多內(nèi)容,持續(xù)完善。

 

總結(jié)

 

         上面我們簡(jiǎn)單綜述了藥店系統(tǒng)使用了AgileEAS.NET平臺(tái)中的相關(guān)功能,并且對(duì)比說(shuō)明了,AgileEAS.NET平臺(tái)提供的強(qiáng)大功能,當(dāng)然其中還有部分功能還沒(méi)有全部整理貼

出,關(guān)于更多的功能詳盡分析及說(shuō)明。         當(dāng)然由于本人水平有限,錯(cuò)誤之處,還請(qǐng)大家多拍磚。

藥店系統(tǒng)源碼

AgileEAS.NET敏捷開(kāi)發(fā)平臺(tái)案例-藥店系統(tǒng)-項(xiàng)目綜述

更多交流

官方博客:http://www.smarteas.net/

官方網(wǎng)站:http://www.agilelab.cn/

如果您在使用AgileEAS.NET開(kāi)發(fā)平臺(tái)中有什么問(wèn)題,請(qǐng)使用如下幾種聯(lián)系方式或者溝通方式。

1、郵箱方式:

魏瓊東: mail.james@qq.com 手機(jī):18629261335 博客:http://eastjade.cnblogs.com/

殷長(zhǎng)波:549558408@qq.com 博客: http://www.cnblogs.com/onmyway/

何戈洲:hegezhou_hot@163.com 博客:http://www.cnblogs.com/hegezhou_hot/

2、QQ交流群:

AgileEAS.NET平臺(tái)交流群:120661978(超級(jí)群)[新建] 
AgileEAS.NET平臺(tái)交流群:125643764(高級(jí)群)[新建] 
AgileEAS.NET平臺(tái)交流群:147168308(高級(jí)群)[新建]

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI