接口漫漫谈

接口——沟通的桥梁

随着科技的发展,人们很多事情不再需要亲自动手,直接调用接口就可以了

洗衣服按下洗衣机的按键接口;

投资理财打开支付宝,选择基金,余额宝等;

定个机票,打开携程App……

什么是接口

接口是做好一件事情的暴露出来一些方法,通过操作这些方法可以做很复杂的事情。

接口越是简单,能做的事情越是强大,那么这个接口受到欢迎。

接口内部的具体实现和细节是被隐藏起来,不为人知。比如钱存入余额宝,具体如何赚取利息的过程就是隐藏的。

任何对象都有接口,面向对象编程就是面向接口编程。

什么是好的接口

隐藏实现:

不要把实现功能的具体实现暴露给使用者。比如在餐馆点菜,无需亲自指挥炒菜师傅先放油,再放姜……。 所以在程序中能放入private中方法不要放在public中。

使用简单:

用最少的方法实现功能,每个方法没有歧义。对应写代码的原则就是命名易懂简单,输入参数精简,每个方法实现单一功能,不要一个方法实现多个功能。

满足需求

这是最基本的要求

小接口组成大对象

电脑是鼠标,键盘,屏幕,cpu,内存,主板,显卡,等一系列的对象通过接口组成。也正是由于电脑的各个部件的接口是统一的,我们可以分开购买各个部件,然后组装成一台电脑。

cpu又是各个寄存器,运算器,门电路组成的。

…………

归根结底最后都是由原子组成的

对于程序而言,语句组成函数,函数组成类,类组合模块,模块组成最终的程序。

小接口导致大问题1

这个世界越来越多的接口被创造出来,越来越多的过程被隐藏起来,通过接口每个人的能力看起来越来越大,现代人不仅衣来伸手,饭来张口,而且可以上天入地,无所不能。当然这个世界也越来越危险,越来越脆弱。

且不说停水停电会有什么样的影响,如果说没有网络,我们的生活能继续下去吗,没有天然气,又会怎样。windows爆发个 病毒就会让我们抓狂,微信一旦宕机了,更会让我们无所适从。我们所用的接口越来越多,依赖越来越多。

小接口导致大问题2

我们所依赖的接口出现问题时,往往是这个接口内部一个小小的地方出现了问题。

也许是浮点数被忽略掉某个小数,价值几亿的卫星发射失败了。

由于银行把钱贷给穷人,最后穷人换不起贷款,最终也许会演化成世界经济危机,比如2008年的次贷危机。

也许有一天,人工智能的某个bug爆发了,然后人类灭亡了。

所以人类越强大,所以依赖的接口越多,人类实际上是越来越脆弱。

接口演化过程1

接口的演化很多时候不是一步到位,而是一个逐步的过程。

当汽车刚刚出现的时候,是被马车瞧不起的,当时的汽车噪音大,丑陋,冒着黑烟。

当滴滴打车出现的时候是被出租车反对打压的,是被政府限制的。

当房地产改革,推行房贷的时候,老百姓是不敢向银行借钱的。

……

接口演化过程2

正因为接口的演化是一个迂回前进,逐步前进的过程,所以不要想着接口能一步到位。

很多时候需要小步测试,不行的换一种方式再测试。

在改良接口的过程中我们也要忍受很多的混乱,不确定性,所以需要足够的耐心。

只要看到我们所设计的东西在一步步的前进,你就足够的信心告诉自己,这事能成!


谁在调用谁1


当人类掌握了水稻的特性,开始种植水稻。看起来是人类在利用水稻,殊不知水稻因为被人的利用一跃成为地球上最成功的植物。

  这难道不是水稻利用了人类?

当人们沉迷手机上的各类App,看起来是我们在操控手机,可是手机也绑定了我们,让我们越来越离不开手机。而手机App背后的厂商更是通过app,收集到大量的人们的行为数据。

当有一天,人类彻底掌握了人工智能,从此不用思考。也许这一天,我们就变成人工智能的宠物,人工智能给出的建议,我们也许就只能乖乖执行。

谁在调用谁2

接口,并不一定是高层调用底层,也有可能是底层调用高层。或者是相互调用。

无论是高层还是底层,凡是一个对象跟另一个对象打交道时都应当通过接口去调用,而不是直接获取这个对象的所有信息。

调用一个接口时,实际上调用者的行为也会被这个接口所同化。所以选择好的接口非常重要。

接口的设计与测试1


接口都是由更小粒度的接口组成的,必须优先保证基层接口的稳定才能构建更大的接口,这个世界之所以稳定,是由于组成这个世界的原子是稳定的。

对于房屋的建造,首先要测试每一块砖瓦,只有砖瓦合格房屋才有可能合格。

  用面粉做成的砖瓦是不构建高楼大厦。

对于程序,首先要保证每个一个方法的稳定性,然后每一个类,然后每一个模块的稳定性,最后才是整个应用程序的稳定性。

接口的设计与测试2


对于接口的设计,则刚好是反过来, 首先考虑接口由哪些小接口组成。然后再考虑这些小接口是由哪些更小的接口组成。所以,对一个程序的需求,首先考虑分解成哪些模块,再考虑每个模块由哪些类组成。

而设计接口的时候,首先要想到如何测试这个接口。也就是说这个接口要到达些什么要求。这就是测试驱动开发。

利用接口做好事情


人的精力是有限的,不可能什么事情都自己动手,特别生活在当今竞争激烈的社会,利用接口做好事情非常重要。

语言是人类思想交流的接口,程序语言是人和计算机交流的接口。

任何对象都有接口,知道了使用这些接口就能够操控这些对象。

掌握最强大的接口的使用,比如社交App中的微信。操作系统如windows

多备用些额外的手段,一个接口不能用时,能有替代的手段。

当你发现某事情做起特别不顺手,那是上天给你的机会到了。赶紧设计一个接口,让事情变的容易起来吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 31,928评论 2 89
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,097评论 1 32
  • ​ 最近你不断听到,xx专卖店关闭,实体商业过得不好,在城市的路边行走,好多沿街的店铺都换了,广场上也不像之前都是...
    成长践行阅读 375评论 0 0
  • [爱心][爱心][爱心]。我是一切的根源 说起我跟爱人的关系,单看每个人在别人看来或者是自己看...
    快乐天使_快乐飞翔阅读 244评论 0 0
  • 茶道,就是品赏茶的美感之道。亦被视为一种烹茶饮茶的生活艺术,一种以茶为媒的生活礼仪,一种以茶修身的生活方式。它通过...
    粒粒香阅读 252评论 3 2