协议的一般使用

作者: 利炳根 | 来源:发表于2015-09-04 03:28 被阅读326次

多助得道,寡助失道

昨天的文章《从代码拆分到VIPER架构演化》
http://www.jianshu.com/p/dee035297274
讲到,通过把ViewController的事件消息集中由一个协议对象进行分发实现VIPER架构。
今天,我们来聊聊协议的使用。

一般而言,做一个新功能,
最原始愚蠢的做法,是直接在原类方法里改。
先进一步的,会在原类新建一个方法实现。
再先进一步的,会在新类里新建一个方法实现。
再先进一步的,会在符合某个协议的新类里新建一个方法实现。

采用协议对象来转发消息的好处是,如果需要变了,你只需要换一个符合这个协议的新类,其它代码都不用改。

所以,为了方便以后代码的维护和扩张,我们会建议尽可能通过协议接口去进行消息转发,而不是直接调类接口。

像完成这个页面,如果按传统写法,就得创建同时创建非常多的类。


IMG_4518.PNG

而如果通过协议接口来进行开发,你只需要新建一个协议,就可以把这个复杂的类写完。通过模拟一些数据,就可以完成对这个类的测试。

后记(下面以聊家常为主,没时间没兴趣的朋友请直接忽略):

得道者多助,失道者寡助
这是很多人都读过的
大家把重点放在“能否得道”上
焦点就错了
应该反过来

不是“如果你找到了真理,大家都会来帮你;你失去了真理,大家都不帮助你”

而是
如果有很多人帮你,你就能找到真理
如果没人愿意帮你,你就找不到真理

你能不能成功,能不能把道理想明白,主要是看“有多少人愿意帮你”

你如果只听一个人的,只信一个人的,就会被误导
如果你听一万个人的,信一万个人的,就不会被误导
因为,这里面充满了矛盾冲突
如果帮助你的人越少,你就越容易被误导
帮助你的人越多,你就越难被误导
《中国的秘密》第二集
http://yuntv.letv.com/bcloud.html?uu=a04808d307&vu=ecf01c6857

相关文章

  • 协议的一般使用

    多助得道,寡助失道 昨天的文章《从代码拆分到VIPER架构演化》http://www.jianshu.com/p/...

  • cookie session token详解

    cookie Web Application一般使用HTTP协议作为信息传输协议,但是HTTP协议是无状态的,也就...

  • Spring Cloud 和 Dubbo,到底用哪个好?我选择S

    Spring Cloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大 ...

  • Spring Cloud 和 Dubbo用哪个好?(一)

    Spring Cloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大 ...

  • 微服务用 Spring Cloud 多还是 Dubbo 多?

    springCloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大 d...

  • 提示框 改变字体

    UIAlertView 一般使用提示框,会使用“UIAlertView”! 首先遵守 协议! 效果: 使用“UIA...

  • 图解HTTP笔记

    TCP/IP协议族:一般认为TCP/IP指的是在IP协议通信过程中,使用到的协议族的统称 TCP/IP协议族分为五...

  • 代理

    代理的使用步骤 定义一份代理协议协议名称:类名+delegate细节:optional方法名一般以类名开头一般都需...

  • 10.9嵌入式知识点总结

    1.协议的组成 2.如何在EEPROM使用协议接收数据 3.协议一般用0x02作为起始 4.一般以0x03作为结束

  • 通知

    代理的使用步骤 定义一份代理协议协议名字的格式一般是:类名 + Delegate比如UITableViewDele...

网友评论

  • d2a553cc00c5:VIPER和MVVM有啥本质上的区别?
  • 王谙然:逆向思维,思路一下就开阔了许多。
    我的理解是这样:与其说很多想帮你,不如说很多人想帮他们自己,所以帮助别人成为更好的“他们”,其实就是我在成为更好的“我”,使我们离真理更紧一点。

本文标题:协议的一般使用

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