功能上沒有多寫什麼.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寫點什麼,棄之可惜.歡迎大家關注.謝謝.