生活随笔
收集整理的這篇文章主要介紹了
DotNet软件开发框架
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
這是我4月份發(fā)在donews博客上的文章,現(xiàn)在都轉(zhuǎn)到博客園來,風(fēng)滿袖希望進一步闡述你的架構(gòu),我就將這篇文章轉(zhuǎn)移到博客園。原文:http://blog.donews.com/shanyou/archive/2005/04/23/347792.aspx
???? 以我個人的能力,沒有足夠的時間和資源自行開發(fā)一套完整的平臺。在已有的眾多開源項目中選擇若干優(yōu)秀的項目進行整合。“站在巨人肩膀上”是牛頓有一句名言.,同樣適合我們的IT行業(yè)。
我對平臺的技術(shù)架構(gòu)的構(gòu)想,是采用開源的ORM框架做數(shù)據(jù)持久層, Asp.net沒有合適的Web層框架,就采用Asp.net的Code-behind方式編寫代碼,數(shù)據(jù)持久層同Web表現(xiàn)層之間的連接采用IOC的容器。 1、 開源框架選擇: 數(shù)據(jù)持久層Nhibernate和IbatisNet這兩個都是非常優(yōu)秀的數(shù)據(jù)持久層,Nhibernate是優(yōu)秀的Hibernate的dotNet移植版本,在開源社區(qū)具有非常高的人氣,IbatisNet是Data Mapper框架,也是JAVA版的Ibatis的移植版本,在dotnet的開源社區(qū)一樣是非常受歡迎的一個工具。Nhibernate用于支持非常好的面向?qū)ο蟮脑O(shè)計的模型,IbatisNet用于支持應(yīng)用程序的移植(已經(jīng)存在數(shù)據(jù)庫,處于生產(chǎn)狀態(tài)),這兩個框架對開發(fā)人員的要求。這樣就具有更大的彈性。IOC容器Spring.Net和Castle,這是兩個dotnet非常優(yōu)秀的IOC容器。Spring.Net同樣是Java的Spring 的移植版本,目前的版本是0.6,Castle則是dotnet下出現(xiàn)新的IOC容器,它的功能,成熟度方面比Spring.Net好得多,框架中準(zhǔn)備采用Castle.最后的平臺的技術(shù)架構(gòu)就是Nhibernate/IbatisNet + Castle + ASP.NET 2、 架構(gòu)整合: Web層的Asp.net負(fù)責(zé)數(shù)據(jù)輸入輸出, 響應(yīng)用戶事件,及輸入校驗的工作,Web層上如何得到Nhibernate的Session和IbatisNet的SqlMapper?本架構(gòu)中的DAO,Service以及 Nhibernate的Session和IbatisNet的SqlMapper都是通過Castle進行管理,Web層如何得到Castle IOC容器的實例呢,參照文章在asp.net頁面上得到Castle容器的實例 。Asp.net頁面通過Service處理業(yè)務(wù)邏輯,Service負(fù)責(zé)use case邏輯, domain相關(guān)的邏輯委托給domain model去實現(xiàn). Service通過DAO完成對domain model的持久化工作. Service負(fù)責(zé)數(shù)據(jù)庫事務(wù)和NHibernate Session/IbatisNet SqlMapper的管理。Domain model負(fù)責(zé)表示問題域的數(shù)據(jù),DAO使用Nhibernate/IbatisNet持久化數(shù)據(jù)以及查詢. 在實現(xiàn)DAO時, 我們使用了Castle的Nhibernate/IbatisNet DAO Support,極大地簡化了代碼, 很多方法都只用簡單的一行完成。這樣的架構(gòu)優(yōu)點很明顯, 層次清晰, 各層的職責(zé)也明確, 便于分層設(shè)計與開發(fā), 結(jié)合mock和Castle的IOC, unit test也是非常容易的. 而且后臺(Service, domain model and DAO)的代碼不依賴于Asp.net框架,同樣的代碼可以在Web App也可以在WinForm上面使用,只需更換UI層。 使用的框架工具的鏈接 http://www.castleproject.org/castle/show/HomePage http://nhibernate.sourceforge.net/
http://sourceforge.net/projects/ibatisnet/ 另外這里有一篇精彩文章應(yīng)用系統(tǒng)架構(gòu)設(shè)計
轉(zhuǎn)載于:https://www.cnblogs.com/shanyou/archive/2005/09/23/242680.html
總結(jié)
以上是生活随笔為你收集整理的DotNet软件开发框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。