闲着没事看了一些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.多个项目的实践,因为没有哪个架构设计适合所有的项目,每个项目都需要根据其业务逻辑设计好适合的架构。