一、 app整体描述

app的描述:需求文档+接口文档+程序架构。

说明:新入手的开发人员必须拿到这三个说明文档才能整体了解app功能。

二、app架构描述

1、架构视图

2、分层结构说明

【1】 app主结构分层

分层结构 功能 使用数据
UI视图层 UI数据展示 Entity
crontroller层 UI跳转组织与简单业务逻辑 Entity
servicer层 服务层、处理上层请求 Entity

【2】 业务逻辑层说明

整合业务逻辑处理模块、数据访问层、数据处理模块,使用facade模式为上层提供服务支持。 屏蔽底层业务逻辑、数据获取、数据处理细节。

使用继承抽象机制剥离出基本功能,建立起稳定的抽象层依赖; 对外提供依赖注入点。

【3】 数据访问层

组成 说明 使用数据
网络数据访问 网络引擎模块 json
本地缓存数据访问 本地文件管理模块 归档文件或数据库
全局内存缓存 全局内存数据存储获取  

三、 各层次类库引进与定制

  说明 备注
UI表示层(View) 提供开发规则、提供部分基础类库 复杂界面提供html5支持
UI控制层 提供开发规则 归档文件或数据库
Entity基类 提供抽象类 继承定制、提供参量配置接口
业务逻辑层 提供抽象层 继承定制
数据访问层 提供网络访问、本地缓存模块 在业务逻辑层配置使用
数据处理模块 全局内存数据存储获取 提供加解密、格式转化等功能模块

1、 UI表示层(View)

UI组件的开发规则: 1)数据与表示的分离; 2)根据根、干、叶的规则对复杂视图进行分拆开发设计。

普通视图:按设计需求定制; 统计、饼状图、柱状图:目前使用第三方库https://github.com/zzf073/PieChart 后期使用混合开发。

2、 UI控制层

视图跳转控制器: 大部分由系统提供:tabbar、导航控制; 左右滑动菜单:第三方库或自己定制;

单功能复杂控制器:按照容器控制器原则拆分逻辑、或者按照mvvm模式进行设计。

3、 业务逻辑层

按照facade模式设计,对UI层屏蔽业务逻辑处理和数据获取处理功能。 UI层模块将请求操作交给业务处理层或service层处理。

4、 数据访问层

主要设涉及到网络访问模块和本地数据存贮模块。

现在已有成熟的模块可供使用。

5、 数据处理模块:

处理加解密、数据格式转化、编解码处理、常用格式化功能等模块组成。

已有成熟的模块功能可供使用。

三、 业务逻辑层的使用步骤说明

1、获取或配置业务逻辑模块

单例模式:

[FQLoginManager sharedFQLoginManager].userName = self.userName.text;

普通模式:

self.modelManager = [[FQModelManager alloc] initWithModelName:@"FqHomeModel"];

2、配置请求参量

 

3、发起请求

[[FQLoginManager sharedFQLoginManager] loginWithParams:dic];

 

iOS端架构、基本组成与使用说明的更多相关文章

  1. 新浪微博iOS客户端架构与优化之路

    新浪微博iOS客户端架构与优化之路   随着Facebook.Twitter.微博的崛起,向UGC.PGC.OGC,自媒体提供平台的内 容消费型App逐渐形成了独特的客户端架构模式.与电商和通讯工具类 ...

  2. iOS应用架构谈(三):View层的组织和调用方案(下)

    iOS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第二篇,主要讲View层的组织和调用方案.下篇主要讨论做View层架构的 ...

  3. iOS应用架构谈(二):View层的组织和调用方案(中)

    iOS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第二篇,主要讲View层的组织和调用方案.中篇主要讨论MVC.MVCS. ...

  4. iOS应用架构谈(一):架构设计的方法论

    当我们讨论客户端应用架构的时候,我们在讨论什么? 其实市面上大部分应用不外乎就是颠过来倒过去地做以下这些事情: 简单来说就是调API,展示页面,然后跳转到别的地方再调API,再展示页面. 那这有什么好 ...

  5. iOS应用架构谈 view层的组织和调用方案

    当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构. 一般也就是这两种时机会去做View层架构,基于这个时机的特殊性,我们 ...

  6. iOS应用架构谈 开篇

    iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方案 iOS应用架构谈 动态部署方案 iOS应用架构谈 本地持久化方案 缘由 之前安居客iOS app的第二版架构大部分内容是 ...

  7. iOS应用架构谈 组件化方案

    转载: iOS应用架构谈 组件化方案 简述 前几天的一个晚上在infoQ的微信群里,来自蘑菇街的Limboy做了一个分享,讲了蘑菇街的组件化之路.我不认为这条组件化之路蘑菇街走对了.分享后我私聊了Li ...

  8. iOS应用架构谈 本地持久化方案及动态部署

    转载: iOS应用架构谈 本地持久化方案及动态部署 前言 嗯,你们要的大招.跟着这篇文章一起也发布了CTPersistance和CTJSBridge这两个库,希望大家在实际使用的时候如果遇到问题,就给 ...

  9. iOS应用架构现状分析

    iOS从2007年诞生至今已有近10年的历史,10年的时间对iOS技术圈来说足够产生相当可观的沉淀,尤其这几年的技术分享氛围无论国内国外都显得异常活跃.本文就iOS架构这一主题,结合开发圈里讨论较多的 ...

随机推荐

  1. 【POJ 3580】 SuperMemo

    [题目链接] 点击打开链接 [算法] 本题也是Splay区间操作的模板题,不过要比BZOJ 3223要稍微复杂一些,做完此题后,我终于对Splay有了更深入的理解,有“拨开云雾见青天”的感觉 本题还是 ...

  2. 多线程-threading模块2

    从上面例子中发现线程的创建是颇为麻烦的,每创建一个线程都需要创建一个 t(t1.t2....),如果创建的线程较多时这样极其不方便.下面对通过例子进行改进:   #coding:utf-8 impor ...

  3. apple-touch-startup-image 制作iphone web应用程序的启动画面

    为ipad制作web应用程序的启动画面时发现个问题,只能显示竖屏图,横屏图出不来,如下: 首先页面头部里要加入(这个是APP启动画面图片,如果不设置,启动画面就是白屏,图片像素就是手机全屏的像素) & ...

  4. HDU 2064 汉诺塔III (递推)

    题意:.. 析:dp[i] 表示把 i 个盘子搬到第 3 个柱子上最少步数,那么产生先把 i-1 个盘子搬到 第3个上,再把第 i 个搬到 第 2 个上,然后再把 i-1 个盘子, 从第3个柱子搬到第 ...

  5. E20180418-hm

    utility n. [计]工具; 公用事业; 功用,效用; 有用的物体或器械; 公用事业公司; identity n. 身份; identifier  n. 识别符; 检验人,标识符; 鉴别器; 编 ...

  6. J20170426-hm

    ジェネリクス Generics 泛型 バルーン balloon 气球 アングルブラケット Angle bracket 尖括号 プレースホルダ Placeholder 占位符

  7. springboot redis工具类

    package com.vv.boot.util; import java.util.List; import java.util.Map; import java.util.Set; import ...

  8. python __builtins__ property类 (55)

    55.'property',  获取对象的所有属性 class property(object) | property(fget=None, fset=None, fdel=None, doc=Non ...

  9. android 带checkbox的List

    可实现点击内容即可选中 http://blog.csdn.net/harvic880925/article/details/40475367

  10. Hdu 5446 Unknown Treasure (2015 ACM/ICPC Asia Regional Changchun Online Lucas定理 + 中国剩余定理)

    题目链接: Hdu 5446 Unknown Treasure 题目描述: 就是有n个苹果,要选出来m个,问有多少种选法?还有k个素数,p1,p2,p3,...pk,结果对lcm(p1,p2,p3.. ...