as中的几种事件处理方法- -| 回首页 | 2005年索引 | - -flash 与 webservice 通信的两种方式

初识mvc模式- -

                                      

mvc:model,view,controller.

the model manages data and logic,

the view creates the interface, 

 the controller processes user input.

尽管mvc这三个类是分离的,但是他们之间是要互相通信的:当状态发生改变了,model类必须通知view类,view类注册controller类以便接受用户接口事件,还有可能向model类请求数据.controller类必须更新model类同时有可能更新view类以响应用户的输入.

model类要引用view类, view类和controller类要引用model类,同时view类和controller类互相引用.

具体通信流程:
1 view类接受用户输入并传递给controller类
2 controller类从view类接受用户输入.
3 controller类根据用户输入修改model类或直接修改view类而不修改model类
4 model类根据controller更新.
5 model类通知view类更新.
6 view类更新用户界面.

model类的任务:
model类将数据存储于属性中同时提供与应用相关的方法类修改这些数据,model类的数据可以由model类自己的逻辑更新也可由外部类更新.model类与view类是observe模式,model is observebale 而view类是observer,model类应该提供注册和注销view类的方法,当mode类状态发生变化应该通知所以注册过的view类更新.最后model类实现了mvc模式的逻辑.

view类的任务:
view类创建用户界面并且保持更新状态.view类监听model类的状态,一旦model状态发生变化,view类应该理解更新用户界面.每个view类必须把将用户输入事件移交给controller类,而不应该自己处理用户输入.view类应该可以调用model类的方法查询当前状态.view类的控件可以通过addEventListener,来加入control类事件监听,当view类界面发生改变,view类的某些控件可以触发各种事件(例如click),并将其委托给事件监听者即controller类的相应事件处理方法(例如click方法)。各个view之间应该是独立的,不能相互影响,既不能由一个view去改变另一个view的界面。

controller类的任务:
控制类负责根据从view类传来的用户的输入来觉得如何改变model类的状态.有时候controller类直接调用view的方法改变view类的用户界面.

另外类之间通信有两种方式 push和pull, push模式跟observer模式类似,pull模式即事件模式.

- 作者: tiandike 访问统计: 2005年08月13日, 星期六 18:50 加入博采

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=2579028

博客手拉手

[2005-08-13]    天热了~~~呼乎~~~

[2005-08-13]     余秋雨:《苏东坡突围》

[2005-08-13]    过时的信

[2005-08-13]    傻笑中

[2005-08-13]    8-13

回复

评论内容: