| Version 7 (modified by liuxin2, 15 years ago) (diff) |
|---|
第三版新架构项目文档
概述
面对 PCGroup 网站门户接入越来越多的需求,我们决定设计一个统一的客户端架构,使之可以做到数据驱动,快速开发,将重复开发工作降到最低,消灭散落在代码中的硬编码宏。
层次分划
按从前向后,新的客户端架构可以分为UI层、消息处理(功能逻辑)层、数据存储层、网络访问层、服务器层。
UI 层
UI 层是 3.0 架构与之前的版本变化最大的地方,也是最根本的升级动机。第三版的 UI 细节不写在代码里,而是读取服务器端数据,生成本地界面。 UI 层只负责将数据套入模板 View,呈现给用户。
UI 层按目前资讯客户端的业务,可以分为几种不同的 VIEW。按自上向下细分,为顶栏区、内容区(含分类栏)、频道分类区,共四类。详情见“区块分划”章节。
消息层
各区块之间松耦合,互不依赖(在内部可以紧耦合)。消息层应该有一个或若干消息处理模块,对一些消息实施分检和再发送,类似于没有view的controller。
数据存储层
数据存储层提供本地数据缓存,为客户端提供环境上下文和缓存功能,分为文件存储、SQLite和Socrates三种服务。
文件存储直接使用框架功能,可以参考2.x的Sandbox沙盒代码。
SQLite使用第三方组件 fmdatabase。
Socrates 组件实现一个通用 Socrates模型的特化实现。Socrates 的通用机制参见 http://www.slideshare.net/marchliu/socrates-used-postgresql-and-sqlalchemy
网络访问层
网络访问层提供独立的网络访问机制,异步、消息驱动,面向HTTP。
服务器层
服务器层依托 mrobot,提供模板页和数据的下载。
区块分划
3.0 客户端的界面分为四组功能
- 顶栏,提供上下文菜单和导航等功能
- 分类导航。位于顶栏之下,由于只出现在特定的内容区中,这个组件应该划入内容区
- 内容区,主要呈现文章内容或文章列表两种形式,在列表顶部可能有焦点图和分类导航
- 频道导航栏,位于最下方,提供基础分类的切换。该导航栏的切换引发内容区的资源跳转
服务器
相关面索引
Attachments
-
CategoryDesign.png
(15.0 KB) -
added by liuxin2 15 years ago.
-
ArticleDesign.png
(9.4 KB) -
added by liuxin2 15 years ago.
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)