zoukankan      html  css  js  c++  java
  • 【58沈剑架构系列】一分钟了解“好”接口的设计与实现

    一、好接口的特性

    • 易读

    • 易用,难于误用

    • 功能独立

    • 容易扩展

    二、好接口设计的基本原则

    • 只做并做好一件事

          函数名自解释

          不恰当的函数名,往往是不恰当设计的征兆

    • 如果没做到上一点,就将函数分解

          只增加,永远不要删除函数与接口(你永远不知道这个接口被谁在使用)

    • 实现永远不能影响接口

          举例:不能假定函数调用者只能使用hash

          不能对外暴露实现细节

    • 最小化访问

          尽量使用私有化成员

          注意信息隐藏

    • 注意文档与注释

          接口不是只写给自己(即使只给自己,也应该有说明)

    三、好接口实现的基本原则

    • 不要到处拷贝代码

    • 原子性尽量在一个接口内保证

    • Fail-Fast原则

          出错尽量早点返回,交给上层处理,不要勉强抢救

    • 避免数据直接访问,而是提供访问方法

    • 注意参数与返回值类型

          尽量明确类型

          能不用string尽量不用

          使用float的地方尽量用double,64bit

    • 参数个数不宜太多

          如果过多,就要考虑接口的合理性了

    你见过没有注释的接口么?

    你见过2000行的接口么?

    你见过20个参数的接口么?

    你见过什么更奇葩的接口?

     【文章转载自微信公众号“架构师之路”】
  • 相关阅读:
    linq 基本用法
    string.Substring,string.Concat的用法
    用.NET提供的Mail来发邮件
    委比
    解决启动IIS发生意外错误 0x8ffe2740
    换手
    用Windows Live Writer 2009 发布测试的
    使用matlab工具研究神经网络的简单过程(网络和数据下载)
    拳皇2000连招表
    增加网页曝光率的秘诀
  • 原文地址:https://www.cnblogs.com/codeon/p/8287349.html
Copyright © 2011-2022 走看看