良好的接口设计不需要潜规则
来源:互联网 发布:韩国音乐软件 编辑:程序博客网 时间:2024/04/30 05:37
初始化的设计
例子
class A{ private static A INSTANCE = new A(); public A getInstance(){return INSTANCE}; private A(){ initData(); } private void initData(){remotecall()};}
这个class的设计有一个API. getInstance
这个API的含义是:
1.单例
2.如果第一次调用会触发数据的初始化,rpc调用加载数据.
这个设计暗含一个潜规则:使用方在使用的时候, 要在初始化的地方做一次getInstance调用.
如果没有初始化, 在使用的时候直接getInstance,会导致第一次使用的时候影响性能.
改进
API的设计不要暗含潜规则, 接口设计要明确, get接口要幂等, 每次调用都是一样的效应.
而不能是第一次调用和后续的调用有任何差别.
以上的例子建议修改为两个接口.
1.getInstantce();
2.Init();
使用方通过接口定义就能清楚的指导接口使用的场景和预想到接口调用的后果.
而不是非要阅读接口方的源代码或者通过潜规则的传递.
0 0
- 良好的接口设计不需要潜规则
- 怎样设计良好的类接口
- 程序代码的良好设计
- 良好的设计习惯
- 数据库良好的设计
- 创建良好设计的代码
- 良好的用户界面设计技巧
- 良好的代码设计习惯
- 如何设计良好的viewcontroller
- 怎么样设计良好的API
- RESTful API的良好设计
- 【OA】Dao层“接口”、“实现”两个维度一个良好的设计学习
- 抽象类实现多个接口与接口的继承的对比,实现良好的设计模式!
- 定义良好的web service接口
- 良好设计的4个目标
- 良好的设计才能产出精品
- SEO基础:良好的网站设计
- 如何能够成功设计良好的架构
- ssh使用无密码登陆
- 上机 客房服务
- 用卷积神经网络检测脸部关键点的教程(一)环境配置与浅层网络训练
- ubuntu搜狗输入法切换快捷键fcitx设置
- 全平台chrome添加ublock-origin拓展程序
- 良好的接口设计不需要潜规则
- 显式意图和隐式意图和菜单
- 词汇解释
- 【OpenCV】学习OpenCV范例系列
- 书摘《人人都是产品经理》——4年产品经理的思维书1
- js报错 Cannot set property 'innerHTML' of null
- SQL基础--基础查询的使用
- acm车牌号
- 1122. Hamiltonian Cycle (25)