今天我们来看看所谓的三层
、四层
架构是什么东西?我们可以画个图来分析下
其实所谓的这个三层架构
,一般来说,把我们项目中所有的类,不管控制器也好,View也好,模型也好,或者一些工具类,这些类我们都把它分成三个层次
界面层
主要就是用来显示界面的
控制器
、View
业务层
用来处理我们的业务的,比如我们有登录业务或者加载新闻列表业务,或者购物车等等,相当于我们说的一个功能
数据层
主要是指
网络数据
,本地数据库
举个例子,假如我要显示一个新闻页面
,那该如何对应这些层呢?
首先,界面层
新闻列表(TableView)肯定属于界面层,界面层要显示数据肯定要加载数据
业务层
我们可以交给业务层来加载,那业务层就会有一个叫加载新闻数据的业务,那它数据从哪里来呢?
数据层
这个时候就交给数据层来做,数据层数据可能来源于网络或者本地数据库,
那这样分层有什么好处呢?
- 好处就是
假设我们没有业务层这个东西,那就意味着,界面层直接去访问数据层,这样的话界面层就需要去关心,我们网络请求地址,参数,那假如是数据库的话,可能还需要关心数据库的底层实现(表,字段等等),但是我们一旦分层了就不需要这样了,界面层只关心我要加载数据只需要去调用业务层的加载新闻数据,至于这个数据是通过网络还是本地数据库统统不用关心
可能说的有点抽象,我们写个简单的demo来看看
首先我们的ViewController
肯定是属于界面层了这个毋庸置疑了,它需要去加载新闻列表数据,只需要调用下业务层的加载新闻数据
1 | [XXNewsService loadNews:@{} success:^(NSArray *newsData) { |
我们新建一个XXNewsService
1 | @interface XXNewsService : NSObject |
然后新建我们的数据层假设就是XXHTTPTool
和XXDBTool
,我就大概写一下
1 | @interface XXHTTPTool : NSObject |
那四层是怎么回事呢,一般无非就是把数据层又拆出一层网络层,当然这个也不一定,看每个项目的具体情况
总结
架构这种东西本身就是很抽象的,光靠说是说不清楚的,还是需要多做项目,然后应用起来,这个就先告一段落,接下来我打算写内存管理
和多线程
方面的东西了
明天我们来说说内存管理
点此进入我的博客也会同步更新
One More Thing
点击查看 2020—课程列表 全网IT各种资源有需求的可以微我,或者你喜欢的课程都可以给我发链接剩下的我来搞定
喜欢的朋友可以扫描关注我的公众号(多多点赞,多多打赏,您的支持是我写作的最大动力)关注有福利可以使用免费梯子自由上网