iOS知识梳理6:iOS分层架构设计

前面提到的单例模式,委托模式,观察者模式,工厂模式等等都是局部的设计模式.....这个没有什么争议....
而MVC以及其一系列的设计模式...就我个人的观点来说...也应该属于宏观架构设计里面....但是很多面试的试题会把两者混为一谈,,
比方,问你"除了MVC你还知道哪些设计模式?"...我的观点应该是"MVVM,MVP,VIPER"这些...但是很多网络上的答案都是给的"单例模式,委托模式"等等什么的....这点我也比较困惑...

不过,这一章要讲的是毫无争议的宏观架构设计:
分层架构设计...

具体如下:

  • 表示层
    UIKit Framework
    用户与系统的交互的组件的集合.
  • 业务逻辑层
    系统的核心业务处理层
  • 数据持久层
    SQLite API, Core Data, HTTP等网络通信技术
    用于访问信息层
  • 信息系统层
    SQLite DB,文件系统,云服务
    系统的数据来源

补充1.

我们再开发一个企业级系统的顺序应该是,先信息系统层,然后数据持久层,然后业务逻辑层,最后是表示层

补充2.

开发者可以通过静态连接库(.a + .h)文件或者框架(Framework)把自己的业务逻辑层和数据持久层封装起来,分享给其他开发者.
其中静态连接库中不能有swift代码,只能用objective-c

补充3.

(可以忽略掉下面的补充...)

(这种东西一般面试不会问到的....其他地方也很少见到有这种分类,这些符号应该都来自于..算是一中学习思路了吧....可以更好理解一下静态库和框架,,已经swift和oc混合如何开发...)

根据使用的语言不通可以分为4个种类:
(业务逻辑和数据持久层用同一种语言,0表示oc,s表示swift)
ooo, sss, soo, oss

而代码组织形式的不同,又可以有3种:
P表示project,同一工程分层
WL表示workspace library
WF表示workspace framework

所以这些可以组合成10种结果:
(其中用静态库的业务逻辑和数据持久层不能用swift)
POOO; PSSS; PSOO; POSS
WLOOO; WLSOO
WFOOO; WFSSS ; WFSOO; WFOSS

你可能感兴趣的:(iOS知识梳理6:iOS分层架构设计)