iOS开发架构学习记录

闲着没事看了一些iOS开发架构的视频,简单的介绍了几个常用的架构设计,现将它记录如下,以后有时间再专门写这方面的内容,大家可以看看,感兴趣的就进一步学习。

一、架构基础

1.架构设计的目的

进一步解耦。

2.耦合的方式

1)单例-彼此知道对方的存在

2)delegate-被委托方不知道委托方的存在,委托方知道被委托方的存在

3)通知-双方都不知道对方的存在

二、MVC

C可以控制V的渲染,C可以修改M。

V可以将用户这边采集到的数据和用户事件反馈给C做进一步的处理,V可以读取到M中的数据进而展示自己。

三、MVP

与MVC的比较

MVC中-M、V、C这三个角色是互相知道的,相互引用的,V是知道M的存在的。

MVP中-V和M是相互不存在的,不存在引用,不存在依赖,所有的耦合都在P中处理。

四、MVVM

存在双向绑定,在iOS中这种绑定可以使用ReactiveCocoa框架或者KVO来完成。

五、CDD

用处-不需要书写Delegate就能够完成一个事件的传递。

场景-view的结构非常复杂的情况下,比如,聊天界面、直播界面。

六、分层架构

应用层-服务层-数据层。

七、总结

以上只是基础的入门概念,想要使用好架构是需要-

1.大量的理论知识的学习与总结

2.多个项目的实践,因为没有哪个架构设计适合所有的项目,每个项目都需要根据其业务逻辑设计好适合的架构。

时间: 2024-08-06 16:05:54

iOS开发架构学习记录的相关文章

iOS开发架构

其实对于"架构"这个词,我觉得是一个很庞大的话题.我刚出道还是一个小菜鸟的时候,一直认为这个话题是对于拥有很多年开发经验的程序员来说的(这里并没一味去认为老程序员就是神的说法,也有部分水货哦,大部分都是大牛吧),毕竟在软件开发这一行业,经验足够深时才有更多的思考和设计.然事情过去一两年之后,自己个人技术也慢慢有所提升,从自己写博客记录个人错误积累经验伊始,我就发现自己停不下来了,真的是停不下来了,那是真真的停不下来了,我不停的给我同学或者技术群推荐我的博客,收到一些人的嘲笑,但是我从未

IOS开发---菜鸟学习之路--(二)-数据获取

http://www.cnblogs.com/PleaseInputEnglish/p/3432024.html IOS开发---菜鸟学习之路--(二)-数据获取,布布扣,bubuko.com

iOS开发如何学习前端(1)

iOS开发如何学习前端(1) 我为何学前端?因为无聊. 概念 前端大概三大块. HTML CSS JavaScript 基本上每个概念在iOS中都有对应的.HTML请想象成只能拉Autolayout或者设置Frame的ViewController.好比你在网页上放了一个Button,如果用HTML你就可以设置他的摆放位置,在哪哪个控件里.但是你不可以设置大小,颜色,圆角之类的属性.CSS专门负责HTML管不了的这些颜色啊,大小啊之类的属性.JavaScript主要负责响应事件,你把它想象成iOS

0811 iOS开发需要学习哪些内容

1.iOS开发需要学习哪些内容? 2.开发步骤 3.框架 为了方便开发者开发出强大的功能,苹果提供了各种各样的框架 [1]UIKit:创建和管理应用程序的用户界面 [2]QuartzCore:提供动画特效以及通过硬件进行渲染的能力 [3]CoreGraphics:提供2D绘制的基于C的API [4]CoreLocation:使用GPS和WIFI获取位置信息 [5]MapKit:为应用程序提供内嵌地图的接口 [6]AVFoundation:音频.视频处理 [7]--

关于iOS开发的学习

关于iOS开发的学习,打个比方就像把汽车分解:    最底层的原料有塑料,钢铁    再用这些底层的东西造出来发动机,座椅    最后再加上写螺丝,胶水等,把汽车就拼起来了iOS基本都是英文的资料,也由于封闭,文档写的相当好.在遇到新框架的时候:    弄明白框架的功能    去文档里搜搜 框架的 Programming Guide 很有用    要弄明白框架类的继承结构写iOS的程序不一定都是用OBJC,很多框架是用C写的.学习iOS开发基础可以按照下面两个方面学:    基础 (原料 钢铁 

想学习ios开发,顺手记录一下需要的资源

马上着手开发 iOS 应用程序 (Start Developing iOS Apps Today) https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOSCh/ThirdTutorial.html#//apple_ref/doc/uid/TP40012668-CH10-SW1 用xCode 6.4 跑了一下,貌似不能创建空工程了.搜一下看看怎么解决 如何从 0 开始学 iOS 开发(漫步

IOS开发-学习目录

文笔较差,就不多说废话.现在断断续续看了快一个月的ios开发了,所以写一个目前觉得比较适合自己的教程做个目录,今后的学习主要就按这个目录进行. 1.<objective-c基础教程>下载地址:http://download.csdn.net/detail/qing2005cheng/4992186 本书主要适合接触了一点objective-c\c\c++语法之后看,知识点介绍得比较连贯,按着上面的例子做的,对一些平时没注意的语法等东西都有介绍. 2.ios开发系列博客文章:http://www

iOS开发RunLoop学习:四:RunLoop的应用和RunLoop的面试题

一:RunLoop的应用 #import "ViewController.h" @interface ViewController () /** 注释 */ @property (nonatomic, strong) NSThread *thread; @end @implementation ViewController /** * 1:用NSThread创建线程的时候,不要忘记调用start方法来开启线程,在一条线程中的任务执行的顺序是同步的,串行执行,并且当线程中的任务执行完毕后

iOS开发RunLoop学习:一:RunLoop简单介绍

一:RunLoop的简单介绍 #import "ViewController.h" @interface ViewController () @end @implementation ViewController /** * 1:Runloop和线程的关系:1:一一对应,主线程的runloop已经默认创建,但是子线程的需要手动创建:创建子线程的runloop: NSRunLoop *run = [NSRunLoop currentRunLoop];currentRunLoop懒加载的,