@H_288_30
@mVVM模式大家应该不陌生吧,陌生的快来看看,可是WPF/Silverlight开发中,必备的设计模式。@H_299_31
@mVVM模式
解决了,我们在开发WPF/Silverlight应用程序过程中产生的业务层、表示层比较混乱问题,使表示层和业务层完全分离。
早在2005年,John Gos
sman写了一篇关于Model-View-
viewmodel模式的博文,这种模式被他所在的微软的项目组用来创建Expression Blend。
从上图可以看出来,View表示层就是我们通常的XAML,用来表示前台界面,viewmodel视图模块层的作用用来连接业务逻辑和视图层的关键部分,通常我们发出的命令或者事件都是通过这层传送给业务逻辑层的,Model就是我们的实际数据,业务逻辑代码等。
下面我们用一个Silverlight简单例子来讲解MVVM模式
这个程序就是实现简单查询,输入ID号,查询符合结果的内容
新建一个Silverlight项目,并按照下图新建目录
Command我们用来存放查询用的命令,Model我们用来存放数据,View我们用来存放@L_616_18@查询的UserControl,viewmodel我们用来存放查询的viewmodel
我们先建立Model层用来存储访问要查询的数据
1
2
3
4
5
6
|
public
class
DataItem
public
int
ID {
get
;
set
; }
public
String
Name {
get
;
set
; }
}
|
1
2
3
4
5
6
7
8
9
10
@H_654_197@
11
12
13
14
15
16
17
@H_489_211@
18
19
20
@H_403_205@
21
|
22
23
24
25
26
27
28
29
30
public
static
class
DataDemo
private
static
Collection<DataItem> _DataList =
null
;
public
static
Collection<DataItem> DataList
@H_654_ 197@
_DataList = InitDataList();
}
private
static
Collection<DataItem> InitDataList()
@H_489_211@
{
Collection<DataItem> lists =
new
Collection<DataItem>();
for
(
int
i = 0; i < 100; i++)
@H_403_205@
{
DataItem item =
new
DataItem();
item.Name =
"例子"
+ (i + 1);
}
}
|