1、今天我鼓起了勇气,想纪录自己IOS架构学习成长点点滴滴。从事IOS开发也有几年时间,从刚開始最主要语言、界面、逻辑,再到后面复杂点线程、数据处理、网络请求、动画,最后到最复杂底层音视频、图像算法、自己定义各种效果、网络底层处理。甚至是最后性能:neon、asm优化。感觉自己在IOS开发中,每次都是雾里看花,明明非常接近真理却总是触摸不到。IOS缺乏一种全局把控感觉。所以我下
转载 2023-11-01 12:16:40
63阅读
(一)代理模式 应用场景:当一个类某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。 优势:解耦合 敏捷原则:开放-封闭原则 实例:tableview 数据源delegate,通过和protocol配合,完成委托诉求。 列表row个数delegate 自定义delegate (二)观察者模式 应用场景:一般为model层,controller和view
构架和架构也就是通常所说软件体系结构(software architecture)。体系结构一般包括三个部分:1、构件:用于描述计算。2、连接器:用于描述构件连接部分。3、配置:将构件和连接器组成一个有机整体********************************************************************************************软件
架构是决策与结构综合体,关注分割与交互,也是有层次决策,既需业务知识,又要具备建模技能。其成果物: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
作为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阅读
一、数 是一个用作计数、标记或用作量度抽象概念,是比较同质或同属性事物等级简单符号记录形式(或称度量)。在日常生活中,数通常出现在在标记(如公路、电话和门牌号码)、序列指标(序列号)和代码上。在数学里,数定义延伸至包含如分数、负数、无理数、超越数及复数等抽象化概念。 二、数制 在讲进制前,先了解下数制。什么是数制呢,数制,也称为“计数制”,是用一组固定符号和统一规则来表示数值方法
抓住三个点:根,生命周期,以及结构化; 所谓根,就是根本,底层;对于需求分析而言,这个根就是这个项目的基本概念,比如对于机务维修系统而言,基本概念就是定期检修检,预提,预算,直接成本,间接成本;至于和海波龙系统交互等等,都是基于这些大概念进行;做到架构设计,这个根本,很大程度上就是业务流程抽象化理解,比如在中广核项目中,是一个订单,发货,运输,到货检验最后库存过程;感觉上中间环节非常多...
转载 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阅读
  • 1
  • 2
  • 3
  • 4
  • 5