[Asp.Net]MVP Demo

轉載地址:http://www.cnblogs.com/CopyPaster/archive/2011/01/10/1931705.html


功能上沒有多寫什麼.UI上僅有一個DDL的讀取.然後SysFramework中的一些BaseClass也留TODO,這些大家可以根據自己口味去實現吧.Demo重點不是想演示太多的細節實現,而只是想表達整個架構.

數據庫用的sql自帶示例數據庫:Northwind

數據訪問層用的是:NHibernate

 

Projects 說明:

AspNetMVPDemoApp.DataAccess(數據訪問層)
AspNetMVPDemoApp.DataAccess.Interface(數據訪問接口)
AspNetMVPDemoApp.Model(MVP中的M)
AspNetMVPDemoApp.Presenter(MVP中的P)
AspNetMVPDemoApp.View.Interface(MVP中的V的接口)
AspNetMVPDemoApp.SysFramework(System Framework核心層)
AspNetMVPDemoApp.Web(MVP中的V)


幾個用意
1.通過INHibernateBaseDao -> NHibernateBaseDao<T> -> SomeModelDao 的繼承方式,讓諸如:SelectAll()等公共方法在各個SomeModelDao重用

2.通過NHibernateSessionModule利用HttpModule"過濾"方式去統一處理NHibernate中Session的開/關;事務的開始和提交.這樣Dao中各個方法中就不要重複這類操作的代碼實現.

3.利用WindsorContainer(WindsorContainer是一個控制反轉容器,創建在一個微內核的基礎之上,這個微內核能夠掃描類並且試圖找到這些類用到哪些對象引用、對象依賴,然後把這些依賴信 息提供給類使用。)實現M和V對P的"自動填充",從而讓高層的代碼解耦.
但是現在的問題是:將V加入WindsorContainer,再從容器中取出,對於V裏的UI控件就不能直接使用了(Null Reference的錯...),目前此意圖沒有實現.誰知道如何解決?

下載地址:
http://download.csdn.net/detail/camelials/4841497

PS:

之前的隨筆中簡單用一句話提過MVC,MVP,MVVP之間的差異,說的太概括,可能致使大家理解不深,再者從MVC -> MVVM這個問題本身可以說的很大很廣。我的瞭解也就是基本。

我是想找時間寫個WPF下的MVVM Demo說明一下.另者好久沒有用WPF寫點什麼,棄之可惜.歡迎大家關注.謝謝.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章