您好,登錄后才能下訂單哦!
在前面的章節(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)用。
我們?cè)谒幍曛杏龅降膯?wèn)題,前面也有具體的文檔有分析過(guò),平臺(tái)提供的功能也是比較強(qiá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ā)效率。
在藥店系統(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ù):
對(duì)象關(guān)系映射,平臺(tái)提供了ORM的功能支持,在藥店系統(tǒng)中使用了這塊的功能,通過(guò)代碼生成器,提供了ORM底層代碼的自動(dòng)生成,這樣能夠達(dá)到代碼的一致性和較好
的可讀性和可維護(hù)性等。
2、分布式及智能客戶端:
通過(guò)平臺(tái)提供的分布式訪問(wèn)組件+智能客戶端支持,提供了分布式數(shù)據(jù)通信、智能客戶端+服務(wù)器部署功能等功能,只需要通過(guò)相關(guān)工具使用后就能完成相關(guān)功能。
3、基礎(chǔ)功能:
權(quán)限管理模塊:提供權(quán)限的管理功能。
資源管理平臺(tái):提供插件的管理功能。
4、報(bào)表服務(wù):
報(bào)表:提供設(shè)計(jì)器+報(bào)表的打印服務(wù)。
5、插件+平臺(tái)的開(kāi)發(fā)思想:
插件+平臺(tái)的開(kāi)發(fā)思想。
6、軟件工程:
軟件+工廠=軟件工程
該平臺(tái)提供的是插件+平臺(tái)的敏捷并行開(kāi)發(fā)方法。
上面講述了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ù)的持久化。
ORM組件負(fù)責(zé)通用的持久化服務(wù),提供一個(gè)充血模型,來(lái)完成相關(guān)的數(shù)據(jù)訪問(wèn)支持。
2、單獨(dú)使用報(bào)表服務(wù):
可以脫離ORM來(lái)使用:
通過(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平臺(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ù)
持續(xù)更新,強(qiáng)大的團(tuán)隊(duì)支持。
強(qiáng)大的工作流+表單設(shè)計(jì)器。
更多內(nèi)容,持續(xù)完善。
上面我們簡(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)大家多拍磚。
官方博客: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í)群)[新建]
免責(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)容。