当前位置: 首页 > news >正文

3g网站制作新河seo怎么做整站排名

3g网站制作,新河seo怎么做整站排名,网络平台贷款,杭州网站建设公司联系方式完整源码地址 一、iOS_Viper iOS的Viper架构,作为一个从业多年的iOS开发者,我个人认为应该要会一点viper 二、前言 viper的设计模式在iOS开发中不流行,甚至是Swift中,也没有用,我认为比较可惜。作为iOSer,当你掌握…

完整源码地址

一、iOS_Viper

iOS的Viper架构,作为一个从业多年的iOS开发者,我个人认为应该要会一点viper
在这里插入图片描述

二、前言

  1. viper的设计模式在iOS开发中不流行,甚至是Swift中,也没有用,我认为比较可惜。
  2. 作为iOSer,当你掌握了viper,在设计模式上,你能超越90%的同行了。
  3. viper理解起来需要一点时间成本,但是我希望你能静下心来,花一点时间理解它,在较大的时间项目中。
  4. 使用它:
    1. 前期架构搭建耗时,相比mvc,mvvm, mvp等设计模式会增加约2天工作日左右。
    2. 但是后期随着业务的发展以及维护,会降低50%维护成本(长期看是节省时间,提升效率,减少加班)

三、架构图

请添加图片描述

3.1 分析架构图

  1. 我们写代码中最怕的是什么?业务耦合度高!此架构最大的优势,就是帮助我们把业务解耦,同时带来最大的劣势就是使用成本高。因此需要根据项目来选择是否使用viper,而不是盲目推崇viper
  2. 我们从上往下看,我们可以把view理解为一个组织中最高领导者。
  3. view的功能,只处理UI相关的逻辑,例如刷新UI,添加弹窗,展示loading等。
    1. view是作为presenter的直接领导,所以view强引用presenter
    2. presenter给view汇报工作,需要谦卑一点(没见过给领导汇报工作还十分嚣张的吧),我们这里其实是为了防止循环引用
  4. presenter作为这个组织架构中的中层管理者,是最累的角色(实际工作中,中层领导也是最累的)
    1. presenter对上级view需要汇报工作
    2. presenter对下级interactor需要指导工作
    3. presenter对助手router需要指导工作
  5. router的角色,是辅助presenter做一些页面跳转的相关工作
  6. interactor作为交互逻辑专职部门,主要工作是主导交互的数据处理,它的下级是entity
  7. entity是底层干活的兄弟们(有没有被戳中?)
    1. interactor指导entity工作(强引用)
    2. entity给interactor汇报工作(弱引用)

3.2 延展分析

  1. 对于entity,我们其实可以理解为数据处理层,在实际的较为复杂的业务场景中,可以参照如下模式,对entity进行进一步细分
    请添加图片描述

四、代码解析

  1. Swift提倡的是面向协议编程,我们把这5个模块都定义成协议
    请添加图片描述

  2. 对viewProtocols的分析

    1. 可以看到,viewProtocols是为view服务的,列举了4个常见的方法,刷新视图,展示loading,展示错误,隐藏loading
  3. 对presenterProtocols的分析
    请添加图片描述

    1. presenter 需要持有view,实现的时候要注意使用弱引用
    2. viewDidLoad方法,是在view需要主动调用的
    3. presenter 需要持有router,这里因为是单方面引用,所以需要用强引用
    4. presenter 需要持有interactor,因为是上级,所以强引用
    5. didInteractorRetrieveData方法,顾名思义,就是interactor给presenter的回调方法
  4. 对routerProtocls
    请添加图片描述

    1. createTabBarVC方法,就是一个静态方法,在appdelegate启动后,创建根视图所用的
    2. addChildViewController就是给UINavigationController提供一个初始化vc的方法,这里的vc,就是我们架构中的view层
    3. pushToNextVC方法不用过多解释了,就跳转带参数方法
  5. 对interactorProtocols的分析
    请添加图片描述

    1. interactor需要弱引用上级presenter
    2. 提供一个给presenter主动调用的方法,interactorRetrieveData
    3. interactor强持有下级entity
    4. didEntityReceiveData就是entity的数据回调方法
  6. 对EntityProtocols的分析
    请添加图片描述

    1. entity弱引用上级interactor
    2. retrieveData是给interactor主动调用的方法
    3. didReceiveData是回调方法

五、实际业务代码目录分级

  1. 上面是为了详细分析,从而把代码分多个文件夹,实际项目中,根据业务情况,可以简单这样划分即可。
    请添加图片描述

这样分级,结构清晰,又不会显得太冗余

六、代码打印分析

请添加图片描述

调用顺序以及回调顺序,和我们的架构图是保持一致的。

完整源码地址

http://www.dinnco.com/news/69925.html

相关文章:

  • 企业网站需要注意什么泉州百度竞价推广
  • 国外购物独立网站建设网络销售好不好做
  • 做服装批发在哪个网站好宁波seo外包费用
  • 小程序下载南宁百度快速优化
  • 怎样建设公司网站上海seo公司
  • 做网站时网页中格式对不齐怎么办数据分析师
  • b2c企业有哪些公司seo外贸推广
  • 网站服务器租赁需要什么手续seo优化教程下载
  • 南昌加盟网站制作网站查询工具seo
  • 基于营销导向的企业网站建设研究线上销售怎么做推广
  • g3云推广官网seo搜索引擎优化方式
  • 金华专业网站建设公司seo推广培训课程
  • wordpress本地配置文件推广优化网站排名
  • 网站权重分散在线crm
  • 海南网站搭建外包app推广接单发布平台
  • 珠海建委(建设局)的官方网站seo优化的作用
  • 网络营销理论工具与方法网站的优化策略方案
  • 扬州网站建设制作搜索引擎营销的四种方式
  • 网站建设包含项目网站seo方案案例
  • 网站自己可以备案吗关键词排名优化公司地址
  • 软件工程培训机构哪家好西安网站关键词优化费用
  • 如何做网站的教程视频全国疫情最新
  • 网站建设的英语网站内部链接优化方法
  • 台州网站怎么推广市场调研报告
  • 河北交通建设投资集团公司网站简述什么是seo及seo的作用
  • 网站建设的建议北京百度推广代理
  • 深圳网站建设新闻清远今日头条最新消息
  • 丹阳网站设计如何在百度搜索排名靠前
  • 妇科医院手机网站源码留号码的广告网站不需要验证码
  • 网站制作一个人可以做吗互联网推广的好处