美文网首页iOS开发iOS Developerios
CTNetworking 源码结构解读

CTNetworking 源码结构解读

作者: Simple_Dev | 来源:发表于2017-03-30 17:26 被阅读466次

    写一段时间的代码,就应该回过头来反思一般,记录自己觉得写好的地方,发现自己写的不好的地方,静下来思考怎样将之写的更好或者去借鉴模仿大神们的大神通,然后融汇贯通,使之成为自己的知识体系。上面这点算是最近的一点感悟吧。

    通过几个项目,一直想做的一件事就是项目中的网络请求这块的封装。虽然AFNetworking已经对网络层进行了一层封装,但是作为应用的更上层调用应该可以更简单,结构更清晰。通过网络上的推荐,我找到了猿题库的YTKNetwork和casa大神的CTNetworking这两个第三方网络库,都可以以很小的代价,替换底层用的第三方网络库,而不用通篇去替换请求方法。

    下面就是我阅读casa大神CTNetworking这个库源码的一些整理吧,通过整理来了解这个库结构,逻辑。

    CTNetworking

    CTNetworking的文件结构分为了四个大类文件夹,如下图:

    CTNetworkingMain.png
    Categories文件夹:放一些写的辅助分类
    Components文件夹:放核心功能的组件
    Generators文件夹:对象生产工厂,封装了各种需要对象的创建
    Services文件夹:用来配置网络配置基类
    

    一、Categories文件夹

    这个文件夹放了一些分类,主要是对一些字符串,字典,数组进行一些特定的处理。里面有7个分类,如下图:

    CategoriesMain.png

    下面就来看看这些分类提供了什么功能,图下图:

    ![Uploading nsdictionary_745894.png . . .] nsmutalbleString.png nsobject.png nsrequest.png nsstring.png UIdevice.png nsdictionary.png

    Components文件夹(核心):

    这块就是对网络请求的上层的封装的东西,仔细一看其实东西很少,分了6个类,他们各司其职,他们的功能如下:

    component.png

    Generators文件夹:

    这个文件夹的类,主要就是对象工厂,生产所需要的对象,结构如下图:

    generators.png

    Services文件夹

    这个文件中是配置网络配置的基类,提供了网络配置各种信息,结构如下图:

    services.png

    总结

    以上就是对CTNetworking的结构的分析,对这个库有更深入的了解,下一步就是具体的代码实现的解析了,后面会分享代码解析分享。

    参考文章:

    iOS应用架构谈 网络层设计方案

    相关文章

      网友评论

        本文标题:CTNetworking 源码结构解读

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