[Asp.Net]MVP Demo
功能上没有多写什么.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写点什么,弃之可惜.欢迎大家关注.谢谢.