分类 毒解

作者: CoderHG | 来源:发表于2018-03-28 13:12 被阅读140次

一、关于标题

本来是要写成 独解 的,后来我还是服从了输入法的旨意。

接下来主要介绍一下分类在 网络请求AppDelegate瘦身 中的用途。

二、网络请求

网络请求,使用分类?怎么使用?
在一个项目中的网络请求一般套路都是一样的,包括域名,加密,传参方式等等。那么如何在套路一样,又要在不同的模块中共用呢?主要有这两个方法:

  • 继承
  • 分类
    看主题就应该知道,我的重点是 分类。到现在我依然还没有发现 继承 能胜过 分类 的理由。

这部分可以参考这个代码: NetWorkEngine

简单的介绍一下这个 NetWorkEngine

NetWorkEngine

首先,有一个基本的网络请求工具,就是 NetWorkEngine 这个 Class 。这个 Class 中就提供了一个很好的网络请求封装。那在项目开发中, 应该如何去使用呢?
NetWorkEngine 这个 Class 一般是不用去动的,如何想要在项目中使用,那么先弄一个 分类 ,比如登录模块,那么就弄一个 NetWorkEngine+Login 分类,将所有与登录有关的接口都放到这里。

总之,使用起来是很简单的。大神可以通过我的代码查看。NetWorkEngine

看了之后会不会觉得这样使用 分类 显得很高大上呢?

三、AppDelegate瘦身

就是 AppDelegate 文件的瘦身,避免此文件的臃肿导致难以维护。早上看了一个大神的文章 《AppDelegate瘦身指南》写得很好,受益匪浅。我比较喜欢的两个方法就是使用 FRDModuleManager 与 分类,其实之前我也想到了使用 分类 给AppDelegate瘦身,但是一直木有试过。我比较喜欢 FRDModuleManager 的原因是,所有的子模块都准守了 FRDModule 协议, 这个协议由准守了 这两个协议 UIApplicationDelegate, UNUserNotificationCenterDelegate, 所以在子模块中,感觉就像是在 AppDelegate 中实现一样,挺爽的。但是看到作者列举的缺点之后,心里很不是一个滋味。
于是就想着把 FRDModuleManager 与 分类的优点总结一下,可以这样实现:直接给 AppDelegate 通过模块弄出分类。像这样的:

AppDelegate

单独给 AppDelegate 弄一个文件夹,是我多年的习惯,这次终于能用上场了。[默许一分钟,仅仅一分钟]。

看到上面的图片,感觉怎么样?我就举了两个例子而已:启动调度(Scheduler)与 推送(Push)。按照上面介绍的,可以了么?感觉没有体现出 FRDModuleManager 的有点啊, 是的,别急。 FRDModuleManager 的优点就是使用起来感觉就像是在 AppDelegate 中一样。这样很好了, 直接把 AppDelegate 中的方法 Copy 过来就可以了。如果你这样做了, 别说不认识我啊!!!!在分类中不要重写 当前类的方法, 这是大忌啊。那么我们应该怎么处理呢?很简单,就三个字 加前缀。是不是有一种预想不到的感觉。分类加前缀,多么有没的结合!具体是这样的:

AppDelegate+Scheduler

然后在 AppDelegate 中这样调用:

调用启动器中的逻辑

这样就轻松的将本来在 AppDelegate 中处理的逻辑转移到 AppDelegate+Scheduler 中,已达到了给 AppDelegate 瘦身的目的。

四、说在后面的话

其实分类是一个很好的技术方案,使用好了,真的是一把利器。但是不要滥用!

参考文章:

AppDelegate瘦身指南
NewStart

相关文章

  • 分类 毒解

    一、关于标题 本来是要写成 独解 的,后来我还是服从了输入法的旨意。 接下来主要介绍一下分类在 网络请求 与 Ap...

  • 解 毒

    一回头, 我看到了最美的风景, 那便是长发飘飘的你, 一身小碎花裙, 白色的板鞋, 秀气的发箍承托你更加淑静, 瞬...

  • [奇幻]浮生如梦了如尘(13)腹黑无尘

    “世间传言,毒有三毒,唯三毒最毒。一毒侵染皮肤,药汁可解,以雪青汁居首,二毒服可入骨,以屏息丸为首,然丸药可解,三...

  • 2018-08-25

    重楼解寒热毒

  • 母猪解毒你做了吗?

    【以后知道了,解毒是解这些毒!】 很多养猪人都知道解毒对于猪群健康非常重要,但是究竟解的是什么毒,怎么解的...

  • 毒无解

    自此又开始中了毒 五年前中的毒还未痊愈 至今毒上加毒 早已知晓 无药可解 。

  • 情毒

    我百毒不侵 可你 偏是那一百零一种毒 一遇见你 我便中了毒 情毒 无药可解

  • 【H.K】机场路2014.09.15

    我中了你的毒,从此再不得解。

  • 一句日记

    别问我为什么哭流泪是解中你的毒

  • 解“毒”王者荣耀

    首先,我承认,我也入坑了。 一有空就想拿起手机来一盘大乱斗。晚上一回家就想刷排位。一刷刷到两小时防沉迷提示。 就问...

网友评论

  • 冲虾米:这样更改?FRDModuleManager 本身的作用在哪?个人理解FRDModuleManager其实类似于消息转发,只能不走系统内置消息转发,而是简单的采用钩子的处理方式吧。可能表达不够吧,我暂时没看懂。
  • kyson老师:加油!

本文标题:分类 毒解

本文链接:https://www.haomeiwen.com/subject/nrpycftx.html