1、今天我鼓起了勇气,想纪录自己对IOS架构学习成长的点点滴滴。从事IOS开发也有几年的时间,从刚開始最主要的语言、界面、逻辑,再到后面复杂点的线程、数据处理、网络请求、动画,最后到最复杂的底层音视频、图像算法、自己定义各种效果、网络底层处理。甚至是最后的性能:neon、asm优化。感觉自己在IOS的开发中,每次都是雾里看花,明明非常接近真理却总是触摸不到。对IOS缺乏一种全局把控的感觉。所以我下
转载
2023-11-01 12:16:40
63阅读
(一)代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。
优势:解耦合 敏捷原则:开放-封闭原则 实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求。 列表row个数delegate 自定义的delegate
(二)观察者模式
应用场景:一般为model层对,controller和view
转载
2023-11-22 23:30:58
65阅读
构架和架构也就是通常所说的软件体系结构(software architecture)。体系结构一般包括三个部分:1、构件:用于描述计算。2、连接器:用于描述构件的连接部分。3、配置:将构件和连接器组成一个有机整体********************************************************************************************软件
转载
2023-09-25 20:54:31
29阅读
架构是决策与结构的综合体,关注分割与交互,也是有层次的决策,既需业务知识,又要具备建模技能。其成果物:1、《软件架构响因素:功能、
转载
2023-04-25 16:33:30
92阅读
优点耦合性低视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。模型是自包含的,并且与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。如果把数据库从MySQL移植到Oracle,或者改变基于RDBMS数据源到LDAP,
转载
2023-07-15 12:52:07
81阅读
对symbol table 的symbol的理解(public symbol 、private
原创
2022-10-17 10:30:45
6194阅读
作为iOS开发,我们经常会遇到业务告诉我们安装包过大了,我们需要怎么样让APP瘦身, 这里很多人就会想到,我们工程里面有很多的自己封装的静态库(.a文件)下手了,直接给静态库只放一个真机(.a文件<armv7+arm64>),这样会导致我们在开发过程中没有模拟器文件,导致不能用模拟器进行测试。这里需要注意的是iOS系统在10系统以下可
1. 标准性能测试流程需求分析→性能指标制定→脚本开发→场景设计→监控部署→测试执行→性能分析→性能调优→测试报告2. 性能测试过程中你是如何获取目标值的1. 制定性能指标已上线系统、
未上线系统、
无参考系统2. 已上线制定性能指标有多少个注册用户、
每天有多少活跃用户、
用户活跃的时间段3. 未上线制定性能指标竞品数据参数、
可以借助站长工具4. 无参考制定性能指标根据公司发展规划5. 指标换
常见微服务架构图pc端和手机端来访问,在浏览器上面输入了一个域名显示了页面,这个请求给到了
原创
2022-08-17 08:57:10
87阅读
今天的文章不涉及到代码方面的东西,只是说说思想方面的东西,当然,我说的这些其实很简单,毕竟我也只是做了2年的程序而已,但未必每个团队都是这么做的。首先就是如何分层,分几层。很多情况下,三层架构是最常用的思想。的确,数据库访问,业务,页面。但有了服务,接口,对象的概念以后,很多人并不只是简单的在三层上实现。当然视项目大小而言,如果是个小功能,把所有代码也一个页面上也未必不可。分层的优势就是在于提高可维护性。我认为一个完善的架构,我不得不说的就是规范性的东西,我认为规范是个很重要的东西,当然,规范不只是说大家统一用某种形式命名变量,方法等等,这只是对程序员而言的规范,如果这个划做横向规范的话,那么
转载
2010-12-25 21:21:00
273阅读
2评论
什么是redisRedis:一个高性能的基于Key-Vaule结构出村的N0SQL开源数据库采用redis来实现分布式缓存,用来提高数据的查询效率为什么要用redis?web应用发展初期,系统的访问和并发并不,交换也比较少,但是随着着业务的扩大,访问量提升,使得服务的负载和关系型数据库就会出现瓶颈,而导致瓶颈的原因,主要体现在磁盘io上,那么随着互联网的进一步发展对系统的性能有了更高的要求,red
转载
2023-06-29 14:30:16
52阅读
MVVM1 - MVVM 原理① Model-View-ViewModel 是 M-V-VM 三部分组成,它本质上是 MVC 的改进版② MVVM 就是将其中的 View 的状态和行为抽象化,其中 ViewModel 将视图 UI 和 业务逻辑分开,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑③ MVVM 采用双向数据绑定。View 中数据变化
转载
2023-07-17 11:03:21
585阅读
业务架构是灵魂,需深入理解业务本质;数据架构是根基,决定系统扩展能力;应用架构是骨架,支撑技术实现。项目开发核心路径:需求→设计→编码→测试→部署→运维,每个环节需匹配架构设计目标。演进原则:架构需随业务增长动态调整,避免过早过度设计。
NAT分为三类:静态地址转换(static adress translation):一对一转换,多用于内部服务器发布,属目标地址转 换,未省出公网地址动态地址转换(dynamic adress translation): 多对多转换(公私网IP一样多),属源地址转换,未省 &
原创
2014-03-01 12:04:02
486阅读
&n
原创
2016-05-26 10:57:53
529阅读
1、Spring实现了工厂模式的工厂类,这个类名为BeanFactory(接口),
在程序中通常用他的子类ApplicationContext。
转载
2021-07-06 10:20:13
175阅读
一、数
是一个用作计数、标记或用作量度的抽象概念,是比较同质或同属性事物的等级的简单符号记录形式(或称度量)。在日常生活中,数通常出现在在标记(如公路、电话和门牌号码)、序列的指标(序列号)和代码上。在数学里,数的定义延伸至包含如分数、负数、无理数、超越数及复数等抽象化的概念。
二、数制
在讲进制前,先了解下数制。什么是数制呢,数制,也称为“计数制”,是用一组固定的符号和统一的规则来表示数值的方法
转载
2019-06-15 11:59:00
192阅读
2评论
抓住三个点:根,生命周期,以及结构化; 所谓根,就是根本,底层;对于需求分析而言,这个根就是这个项目的基本概念,比如对于机务维修系统而言,基本概念就是定期检修检,预提,预算,直接成本,间接成本;至于和海波龙系统交互等等,都是基于这些大的概念进行的;做到架构设计,这个根本,很大程度上就是对业务流程的抽象化理解,比如在中广核项目中,是一个订单,发货,运输,到货检验最后库存的过程;感觉上中间的环节非常多...
转载
2016-02-17 17:33:00
89阅读
2评论
对Volatile的理解 很多人对Volatile都不太了解,其实Volatile是由于编译器优化所造成的一个Bug而引入的关键字. int a = 10; int b = a; int c = a; 理论上来讲每次使用a的时候都应该从a的地址来读取变量值,但是这存在一个效率问题,就是每次使用a都要去内存中取变量值,然后再通过系统总线传到CPU处理,这样开销会很大.
转载
2012-12-21 16:19:00
106阅读
2评论
https是通过加密http流量来实现web安全通信.其原理是通过服务器提供其X.509证书声称为服务器的合法代表.它使用的是不对称密钥加密体系由.服务器在证书中提供自身的公钥.客户端在访问页面过程中接收到证书,并用服务器的公钥对http请求加密.再将加密后的密文发送至服务器
转载
2010-09-02 17:12:00
100阅读