= 第三版新架构项目文档 = == 概述 == 面对 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 客户端的界面分为四组功能 - == 服务器 == = 相关面索引 =