本文是对我在知乎一个回答的整理,其中的内容大多是对我平时的阅读和实践的总结,希望对Android的开发者有所帮助。但毕竟是个人的一些思考,难免有疏漏,也欢迎对本文的内容提出建议。1. 架构设计的目的对程序进行架构设计的原因,归根到底是为了提高生产力。通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合。这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率,并且
转载
2023-09-30 17:45:21
163阅读
# App软件架构设计文档
## 1. 引言
在现代移动应用开发中,良好的软件架构设计是至关重要的。一个良好的架构能够提高应用的性能、可维护性和可扩展性,同时也有助于团队协作和开发效率。
本文将介绍一个典型的App软件架构设计文档,并通过代码示例、序列图和饼状图来说明。
## 2. 架构设计
### 2.1 概述
我们的App软件架构设计分为三层:表示层(UI)、业务逻辑层(ViewM
原创
2024-04-02 04:53:43
177阅读
一、概念 没有最好的架构,只有适合自己的业务的架构才是最好的架构,并且它是逐步地变强变大。 架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。 二、iOS的系统架构分为四个层
转载
2023-06-14 15:56:04
1002阅读
苹果官方推荐的 APP 架构是 MVC 架构,实际上它并不是传统的三层架构,而是两层架构,即整个 APP 由“模型”和“视图控制器”两层构成。因此视图控制器显得尤其重要,它的重要体现在两个方面:ViewController 是 iOS APP 中最重要的“基石”,没有 ViewController 就没有 APP——iOS 9 以后,要求 UIWindow 必须要有一个 rootViewContr
转载
2023-09-08 10:22:38
176阅读
App架构是软件设计的一个分支,它关心的是如何设计一个 App 的结构。我的理解结构设计分水平和垂直两个方向。垂直方向分:基础层、核心层、业务层、界面层。水平方向可以理解为对界面的的设计模式,目前比较通用的有MVC、MVP、MVVM三种,具体见下图:1、MVC - Apple版是 Cocoa app 中最为常⻅的架构,同时也是在 Cocoa 中讨论架构时所采用的基准线。1、实线部分代表编译期间的引
转载
2023-07-12 10:25:54
70阅读
IOS里面几乎所有的可视化类都封装在UIKit.framework里面; 和Mac os系统一样,都是基于Unix内核;一、iOS系统框架Cocoa Touch层 主要包含了大部分使用Objective-C的API,主要由Foundation和UIKit框架组成,Foundation提供了面向对象的文件访问,网络操作,数据,和集合类型;Media层 Media层主要提供了一些基本的绘图、声音和
转载
2023-08-15 12:57:16
74阅读
点赞
前言很多人觉得架构文档没有什么写的,或者说不知道要怎么写。其实我觉得这是因为自己对架构、或者对业务需求并不是那么理解。如果真的理解了,再来写这个文档,会发现真的有很多可以写的地方。因为你在明白架构设计文档的目的、作用后,就知道这个东西不仅仅是拿来糊弄公司的,而是真的有指导意义的。首先要理解架构设计文档的作用,架构设计文档其实对项目开发是有很大帮助的,而且在写架构设计文档的过程中,也能让设计师认真的
转载
2023-05-26 10:17:13
154阅读
实现过程 一、界面框架设计思路 我们发现对于APP的四个tab页面来说,每个页面都是由三个部分组成的:顶部的固定部分,用来显示自己APP的名字;中间部分的主页面,用来显示不同页面的主内容;底部的导航页面,用来帮助使用者清晰的切换页面。同时由于要实现页面之间的交互(中间的主内容随底部导航切换而切换),因此我们的设计思路为设计三个框架进行拼接:顶部的top、底部的bottom、中间的分段以
转载
2024-01-16 19:05:46
219阅读
1. 分析
软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建
转载
2024-10-18 21:52:01
68阅读
该指南针的目标人群是已经知道如何建构简单的app,并且希望了解构建健壮的产品级app的最佳实践和推荐架构。app开发者面临的难题不同于大部分的传统桌面应用只有一个入口,并且作为一个整体的进程运行,Android app有更加复杂的结构。一个典型的app由多种组件构成,包括activity,fragment,service,content provider和broadcast receiver。几乎
转载
2023-07-14 17:15:21
108阅读
让我猜猜您看到这个标题时有何看法。难道这是另一篇烦人的博客文章,模仿了 MVC 并提供了一种替代的“super-duper pattern”,而实际上只留下了更多的问题?这就是我看到另一篇有关 iOS 架构的文章时的想法。MVC,MVP,VIPER,RIBLET,Clean Swift等。这样的文章有很多,它们的观点和架构截然不同。我们的社区一直在争论哪种“模式”是最好的。但是问题是他们全都是狗屎
转载
2024-09-28 21:51:22
27阅读
iOS客户端应用架构看似简单,但实际上要考虑的事情不少。本文作者将以系列文章的形式来讨论iOS应用架构中的种种问题,本文是其中的第三篇,主要讲网络层设计以及安全机制和优化方案。前言网络层在一个App中也是一个不可缺少的部分,工程师们在网络层能够发挥的空间也比较大。另外,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用。其它的ASIHttpRequest,MKNetw
转载
2024-05-28 11:22:23
56阅读
对于 Android 客户端的架构设计,可以从分层化和模块化来考虑。 目录:分层化模块化业务逻辑层设计 1. 分层化在 Android 客户端开发中,通常可以分成以下几层:SDK层:主要是 Android SDK 及第三方的 SDK (可能基于 Android SDK 或为独立的 SDK),这些 SDK 为上层框架提供核心功能的支持。基础框架层:这里所谓的基础框架,
转载
2023-07-13 12:22:40
112阅读
App架构设计经验之谈1.接口的设计1.1安全机制的设计由于App的接口大部分采用RESTful架构,而RESTFul最重要的一个设计原则-客户端与服务器的交互的无状态性,所以,当涉及到用户状态时,每次请求都要带上身份验证信息。实现上,大部分都采用token的认证方式,一般流程:(1)用户用密码登录成功后,服务器返回token给客户端; (2)客户端将token保存在本地,发
转载
2023-07-07 09:30:51
344阅读
先说一下为什么要讲框架的设计。 第一、IM应用一般是基于长连接的,也就是后台一直在收发数据,那这里就有一个后台的概念; 第二、如果用户是一个人群里面的中心人物的话,那么他的的数据量就会很大。页面的显示及数据库的处理就需要关注了; 第三、分解app有利于我们降低耦合,在后期维护和升级时,稍微容易一点。 我觉得框架就是先拆解部件再建立联系。框架有很多种,我借鉴的是依赖注入。依赖
转载
2023-07-19 23:24:48
164阅读
XXX架构设计说明书<o:p></o:p>(架构设计重点在于将系统分层并产生层次内的模块、阐明模块之间的关系)一. 概述<o:p></o:p>描述本文的参考依据、资料以及大概内容。<o:p></o:p>二. 目的<o:p></o:p>描述本文编写的目的。<o:p>&l
转载
2023-07-12 12:45:07
304阅读
iOS APP 架构漫谈(一)
最近看了一些有关server的东西,一些很简单的东西,不外乎是一些文档规范,另外结合最近看的wwdc的一些video,觉得对软件架构(software architecture)认识又清楚了一些,这里记录下来。 software architecture 听上去是一个很大的概念,实际上也包括很多东西,里面的争议也很多。在我看来软件架构最好放在小的场景中理解。问
很多同学问做架构设计,怎么才能写处比较好的文档。其实很简单,都是有套路的,今天刚好借这个机会,和大家分享下一般做架构设计该怎么写文档。背景首先介绍下项目背景、基于什么原因需要需求。如果是新产品,描述下产品启动的原因和背景、产品定位如果是升级版本,描述升级需求、对原系统的影响,以及到达的预期效果名词解释文档中出现新的或者不常见的名词、概念给出定义和解释。设计目标实现功能大致描述系统本身的功能性需求,
原创
精选
2018-08-27 11:28:12
10000+阅读
点赞
1评论
一、如何理解架构?架构分为三个阶段:规划、设计、构建。在规划阶段,考虑的是产品的需求、质量的需求,技术的可行性分析以及预研。在设计阶段,考虑的如何将一个复杂的系统拆分,并设计如何进行组织这些拆分的模块。在构建阶段,考虑的就是具体的实施问题,并且要保证一定的伸缩扩展性,因为架构是不断演进的。 架构的设计可以从两个维度来考虑,一是架构思维,二是架构原则。思维是我们的思
转载
2023-09-25 19:20:51
188阅读
本文目的:对app设计架构有一个初步的了解; **为什么需要架构设计(代码在10万行以上) 1,使我们的程序模块化(分工协同开发的需要),模块内部的高内聚和模块之间的低耦合; 2,提高开发效率,后期的测试以及定位会变得更容易 **android中MVC设计架构 1,android中的设计架构都是来源于javaweb当中一些思想和模式 2,android中界面部分就是采用当前比较流行的M
转载
2023-07-24 12:38:55
60阅读