阅读更多

10顶
2踩

编程语言

翻译新闻 Java API 设计准则

2012-01-19 11:55 by 资深编辑 luiang1018 评论(17) 有12379人浏览
在Java API设计中有着许多的各种规则与折衷考量,和其他所有复杂任务一样,它考验着我们的记忆力及脑力。这里我找到了一个对正在设计Java API的软件开发人员而言非常不错的准则列表,其中介绍的一些准则可能是很明显的,又或者不那么显眼,但确实非常不错,希望你会喜欢。

这里摘录了一些:

  • 优先将API与其实现置于不同的包中。
  • 优先将API放入高层包中,实现则可放在低层包。
  • 考虑将大型API拆分成若干包。
  • 考虑将API与其实现包归置到不同的Java文档中。
  • 避免对API中实现类的内部依赖。
  • 避免出现不必要的API碎裂(fragmentation)情况。
  • 不要将公共实现类放在API包中。
  • 不要在调用及实现类间创建依赖。
  • 不要将不相关的API放在同一个包中。
  • 不要将API与SPI(Service Provider Interface,服务提供者接口)放在同一个包中。
  • 不要移动及重命名已发布的公共API包。
完整的准则列表点击这里查看。

来自: lukaseder
10
2
评论 共 17 条 请登录后发表评论
17 楼 zhengjie_dna 2012-01-29 11:01
yang888111 写道
yang81 写道
[ote="luiang1018"]
jared 写道
•不要将不相关的API放在不同的包中。


——如何理解?[/quoe]
sorry,写错了。是同一个包中。


再测试


发布
16 楼 yang888111 2012-01-29 09:42
yang81 写道
[ote="luiang1018"]
jared 写道
•不要将不相关的API放在不同的包中。


——如何理解?[/quoe]
sorry,写错了。是同一个包中。


再测试

15 楼 ixu 2012-01-29 09:39
好文!
14 楼 yang888111 2012-01-29 09:29
[ote="luiang1018"]
jared 写道
•不要将不相关的API放在不同的包中。


——如何理解?[/quoe]
sorry,写错了。是同一个包中。


再测试
13 楼 yang888111 2012-01-29 09:28
[ote="tenderuser"]
jared 写道
•不要将不相关的API放在不同的包中。


——如何理解?
按包划分模块?


测试
12 楼 xsbird 2012-01-29 09:16
补充一点愚见,在设计接口参数的时候,尽量将参数传足,一般建议用封装的实体传递数据。
11 楼 xiaol601 2012-01-26 23:52
有压力!!!
10 楼 zhaoxuhui97 2012-01-21 20:06
flashing 写道
我觉得这文章最有趣的地方在于,懂的一看就懂,不懂的看了还是不懂。。。


+1
9 楼 flashing 2012-01-21 09:09
我觉得这文章最有趣的地方在于,懂的一看就懂,不懂的看了还是不懂。。。
8 楼 tkhwork 2012-01-20 14:20
7 楼 qianye 2012-01-20 13:56
资深编辑?
6 楼 luiang1018 2012-01-19 22:33
jared 写道
•不要将不相关的API放在不同的包中。


——如何理解?

sorry,写错了。是同一个包中。
5 楼 tenderuser 2012-01-19 16:25
jared 写道
•不要将不相关的API放在不同的包中。


——如何理解?

按包划分模块?
4 楼 yoyo837 2012-01-19 16:18
     
3 楼 jared 2012-01-19 15:59
•不要将不相关的API放在不同的包中。


——如何理解?
2 楼 iamyuyingqiang 2012-01-19 15:17
没看懂
1 楼 xiaomogui 2012-01-19 14:23
    

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • amex-api-java-client-core:用于通过发布到Amex for Developers门户的API进行身份验证的库

    amex-api-java-client-core 该库封装了创建标头所必需的标头创建,这些标头必须通过发布到门户的API进行身份验证。 用法 代码样例 已为可通过此库调用的每个API提供了。 伪像 工件即将到达JCenter。 敬请关注! ...

  • 转: Java API 设计准则

    新年将到,决定开始使用这个blog,学习其他大...这里我找到了一个对正在设计Java API的软件开发人员而言非常不错的准则列表,其中介绍的一些准则可能是很明显的,又或者不那么显眼,但确实非常不错,希望你会喜欢。 ...

  • Java学习路线总结,搬砖工逆袭Java架构师

    定期分享Java硬核技术干货、分享Java学习路线、分享Java经典面试题

  • REST API URI 设计的七准则

    点击上方Java后端,选择设为星标优质文章,及时送达在了解 REST API URI 设计的规则之前,让我们快速过一下我们将要讨论的一些术语。URIREST API 使用统一资源标识...

  • java7 uri,REST API URI 设计 7 准则,

    REST API URI 设计 7 准则,在了解REST API URI设计的规则之前,让我们快速过一下我们将要讨论的一些术语。URIREST API使用统一资源标识符(URI)来寻址资源。在今天的网站上,URI 设计范围从可以清楚地传达API的资源...

  • 什么是 RESTful API 和 如何设计RESTful API 及 RESTful 的准则

    设计概念和准则 所有事物抽象为资源(resource),资源对应唯一的标识(identifier)。标识符在网站上的表现形式就是URI。 资源通过接口进行操作实现状态转移,操作本身是无状态的。因为HTTP协议本身就是一个无状态的...

  • RESTfulAPI设计的原则,如何设计出符合 RESTful 标准的 API

    统一接口:RESTful API 使用 HTTP 协议提供统一的接口,使得客户端能够跨平台访问服务器端的资源。使用 HTTP 协议的各种方法(如 GET、POST、PUT、DELETE 等)来定义 API 的功能。尽量使用 JSON 格式来表示资源,并...

  • Qt API设计指导准则

     此文为Qt 官网上的API设计(for C++)指导准则,其中有不少原则具有普遍适用性,整个篇幅中有很多示例,是Qt在API设计上的实践。  正文:    Qt 一致、易掌握、强大的API是它的众多著名的优点之一。此文...

  • REST API URI 设计 7 准则

    在了解REST API URI设计的规则之前,让我们快速过一下我们将要讨论的一些术语。 URI REST API使用统一资源标识符(URI)来寻址资源。在今天的网站上,URI 设计范围从可以清楚地传达API的资源模型,如: ...

  • API设计原则

    原文链接:API Design Principles – Qt Wiki 基于Gary的影响力上 Gary Gao ...此文既是Qt官网上的API设计指导准则,也是Qt在API设计上的实践总结。虽然Qt用的是C++,但其中设计原则和思考是具有普适性的(如果

  • Java七大设计原则

    4、依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部,对外除了提供public方法之外,不对外泄露任何信息。指的是...

  • java接口设计原则_设计java中的接口需要遵循哪些原则

    设计java接口的规范性建议:1.职责原则在设计接口时,必须明确接口的职责,即接口类型,接口应解决什么业务问题等2.单一性原则在明确接口职责的条件下,尽量做到接口单一,即一个接口只做一件事,而非两件以上。很多...

  • Java基础知识总结(2021版)

    大家好,我是素小暖,2012年毕业,2016年通过培训转行java开发,今天2021年1月9日,转行之路跌跌绊绊,蓦然回首,已经满满的4年工作经验了?但感觉知识还是相当的匮乏,没自信,也许是努力程度还不够吧。很感谢CSDN...

  • RESTful API接口设计标准及规范;

    RESTful发展背景及简介 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板...RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。 REST(Representational Stat...

  • java设计模式之观察者模式

    需要设计开放型API,便于其他第三方也能接入气象站获取数据。 提供温度、气压和湿度的接口 测量数据更新时,要能实时的通知给第三方 普通方案 通过getXxx方法,可以让第三方接入,并得到相关信息. 当数据有更新时...

  • RESTful API设计规范

    二、设计概念和准则三、为什么要使用RESTful API?四、协议五、域名六、版本七、http请求⽅式八、路由(路径)九、过滤信息(url中?后⾯的参数)使用过滤信息的原因:十、状态码十一、 其它 RESTful API设计规范 ⼀...

  • Google Cloud API设计指南

    本设计指南的目标是帮助开发者设计简单、一致且易用的网络 API。同时,它还有助于将 RPC API(基于套接字)与 REST API(基于 HTTP)的设计融合起来。 RPC API 通常根据接口和方法设计。随着时间的推移,接口和方法...

  • spring-ai-spring-boot-autoconfigure-1.0.0-M5.jar中文文档.zip

    # 【spring-ai-spring-boot-autoconfigure-***.jar中文文档.zip】 中包含: 中文文档:【spring-ai-spring-boot-autoconfigure-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【spring-ai-spring-boot-autoconfigure-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【spring-ai-spring-boot-autoconfigure-***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【spring-ai-spring-boot-autoconfigure-***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【spring-ai-spring-boot-autoconfigure-***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: spring-ai-spring-boot-autoconfigure-***.jar中文文档.zip,java,spring-ai-spring-boot-autoconfigure-***.jar,org.springframework.ai,spring-ai-spring-boot-autoconfigure,***,org.springframework.ai.autoconfigure.anthropic,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,springframework,spring,ai,boot,autoconfigure,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【spring-ai-spring-boot-autoconfigure-***.jar中文文档.zip】,再解压其中的 【spring-ai-spring-boot-autoconfigure-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件; # Maven依赖: ``` <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-spring-boot-autoconfigure</artifactId> <version>***</version> </dependency> ``` # Gradle依赖: ``` Gradle: implementation group: 'org.springframework.ai', name: 'spring-ai-spring-boot-autoconfigure', version: '***' Gradle (Short): implementation 'org.springframework.ai:spring-ai-spring-boot-autoconfigure:***' Gradle (Kotlin): implementation("org.springframework.ai:spring-ai-spring-boot-autoconfigure:***") ``` # 含有的 Java package(包): ``` org.springframework.ai.autoconfigure.anthropic org.springframework.ai.autoconfigure.azure.openai org.springframework.ai.autoconfigure.bedrock org.springframework.ai.autoconfigure.bedrock.anthropic org.springframework.ai.autoconfigure.bedrock.anthropic3

  • 50页-道路环卫保洁服务项目管理计划方案.pdf

    在当今智慧城市的建设浪潮中,智慧环卫作为城市管理的重要组成部分,正以其独特的魅力引领着环卫行业的变革。本方案旨在通过一系列高科技手段,如物联网、大数据、云计算等,全面提升环卫作业效率与管理水平,为城市居民创造更加清洁、宜居的生活环境。 一、智慧环卫系统概述与核心亮点 智慧环卫系统是一个集机械化保洁、垃圾清运、设施管理、事件指挥调度等多功能于一体的综合性管理平台。其核心亮点在于通过高精度定位、实时监控与智能分析,实现环卫作业的精细化管理。例如,机械化保洁管理子系统能够实时监控机扫车、洒水车等作业车辆的运行状态,自动规划最优作业路线,并根据作业完成情况生成考核评价报表,极大地提高了作业效率与服务质量。同时,垃圾清运管理子系统则通过安装GPS定位设备和油量传感器,对清运车辆进行全方位监控,确保垃圾清运过程的规范与高效,有效解决了城市垃圾堆积与随意倾倒的问题。此外,系统还配备了垃圾箱满溢报警系统,通过智能感应技术,当垃圾箱内垃圾达到预设高度时自动报警,提醒作业人员及时清运,避免了因垃圾满溢而引发的居民投诉与环境污染。 二、智慧环卫系统的趣味性与知识性融合 智慧环卫系统不仅实用性强,还蕴含着丰富的趣味性与知识性。以餐厨垃圾收运管理子系统为例,该系统通过为餐厨垃圾收运车辆安装GPS定位、车载称重、视频监控等多种感知设备,实现了对餐厨垃圾收运过程的全程监控与智能管理。作业人员可以通过手机APP实时查看车辆位置、行驶轨迹及收运情况,仿佛在玩一场现实版的“垃圾追踪游戏”。同时,系统还能自动生成餐厨垃圾收运统计报表,帮助管理人员轻松掌握收运量、违规情况等关键数据,让数据管理变得既科学又有趣。此外,中转站视频监控子系统更是将趣味性与实用性完美结合,通过高清摄像头与双向语音对讲功能,实现了对中转站内外环境的实时监控与远程指挥,让管理人员足不出户就能掌控全局,仿佛拥有了一双“千里眼”和一对“顺风耳”。 三、智慧环卫系统的未来展望与社会价值 随着科技的不断进步与智慧城市建设的深入推进,智慧环卫系统将迎来更加广阔的发展前景。未来,智慧环卫系统将更加注重数据的深度挖掘与分析,通过大数据与人工智能技术,为城市环卫管理提供更加精准、高效的决策支持。同时,系统还将加强与其他城市管理系统的互联互通,实现资源共享与协同作战,共同推动城市管理的智能化、精细化水平。从社会价值来看,智慧环卫系统的推广与应用将有效提升城市环境卫生质量,改善居民生活环境,提升城市形象与竞争力。此外,系统还能通过优化作业流程、减少资源浪费等方式,为城市可持续发展贡献重要力量。可以说,智慧环卫系统不仅是城市管理的得力助手,更是推动社会进步与文明发展的重要力量。

Global site tag (gtag.js) - Google Analytics