Symbian app framework handwork笔记(基础)

MVC模式:
M(Model):
Encapsulates the application state
封装应用程序状态
Exposes the application functionality
暴露应用程序功能
Notifies the View of changes
报告视图的变化
Responds to state queries (from the View)
响应状态的改变

V(View)
Renders the Model
渲染模型
Receives update notifications from the Model
从模型接收变化消息
Sends user input to the Controller
发送用户输入到控制器

C(Control)
Defines application behavior
定义应用程序行为
Maps user actions to Model updates
映射用户行为到模型
Selects Views for response
选择响应视图

Symbian的应用程序由两个逻辑部分组成Engine和UI。Engine描述的是数据和算法,UI描述的是屏幕和行为展现。一个Avkon应用程序可以通过3种途径来实现:传统的Symbian OS体系结构,对话框体系结构,视图体系结构。
o_symbian1.jpg
从图中我们可以看到:
CAknApplication
启动应用程序框架对象
初始化应用程序框架(Avkon)
定义应用程序属性
创建一个Document对象

CAknDocument
创建CAknAppUi控制器类
CAknDocument是App Document的基类。默认情况下,它提供了Document文件的创建和访问。这是经典的Avkon应用程序模式。

CAknAppUi / CAknViewAppUi
在这个模型里面扮演了主要控制器的角色。
The choice of the base class depends on the application architecture (不明白什么意思?@_@)
控制应用程序的主要事件:菜单事件,焦点改变事件,环境变化事件
命令模型
提供按钮和状态面板的范围能力
视图的切换响应
在一个非常简单的应用程序中,这个类包含了应用程序的模型实现。but typically the model is a separate engine owned and controlled by this class(不是很清楚?@_@).
在视图体系中,这部分的控制逻辑被放在CAknView类中。

View是一个UI控制器
显示模型的应用程序状态
接收用户输入
通知控制器相关事件
观察模型改变并更新屏幕

应用程序Engine
表现应用程序的状态和数据
封装非UI依赖的功能
有自己的库实现
常用的非UI的功能,如网络,数据库等
由Document或AppUI直接控制。

posted @ 2008-04-08 15:07  moonz-wu  阅读(641)  评论(1编辑  收藏  举报