封装四:面向接口

此观点是曾经和许式伟共事的时候被他输入给我的;当年刚毕业;被他拉过去设计接口,他很耐心细致的分析了我的接口;

 

仔细分析一下,你会发现我们每天都在设计接口(许式伟称之为规格)

接口让我们这些programer分为两类人,一种人做设计(设计接口),一种人写代码(实现接口);我们每天都在围着接口转;

 

前面的文章中提到围棋,围棋中小方块和小方块衔接处用的则是我们所说的“接口”;

 

设计接口都是我们口中所说的牛人所干的活,所以有两个必须的因素:

1:丰富的经验

2:充足的需求分析

相比而言,2,更重要;

比如设计容器的接口:插入,删除,访问,这是不需要分析所必须要想到的接口,这则是用经验换来的接口设计思想;

比如我发现我们的容器是以个只读接口:那么此容器只需要:初始化、访问接口,并不需要删除,这是需求分析换来的接口设计思想;

 

好的接口设计有一些可以遵循的原则:

  • 接口的自圆;我们设计一个vector有size接口,没有at(i)或者operator[],接口那么它将如何被使用???这便是没有自圆;自圆的接口才能让你的user无话可说;
  • 沿用原有语义:如find,请不要自己搞一个chaxun出来;
  • 简洁:这是我一直强调的
  • 不会被误用:举个简单的例子

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值