首次使用Java创建API

时间:2009-12-29 15:05:47

标签: java api

我被赋予了设计我必须开发的GUI使用的API列表的任务,以便与外部应用程序通信。考虑到应用程序刚刚被设计并且我有它的初始类图,我应该:

1-只需列出此应用程序类图中的字段和方法,GUI将与应用程序进行通信

2-创建GUI所需的全新字段和方法列表,以便与应用程序开发人员应创建的应用程序进行通信

提前致谢!!!

4 个答案:

答案 0 :(得分:18)

我读过的API设计的最佳指南之一是“The Little Manual of API Design”(PDF),它有一些伟大的,平台中立的指导如何创建API用于申请或服务。它提供的一些最重要的指导是:

  • 在开始编写API本身之前创建用例;
  • 在编码之前获得API设计的同行评审;
  • 针对API编写示例以测试其稳健性。

第一个提示是最好的,恕我直言;当您的所有用例需要的只是该世界的一小部分时,它会阻止您对提供世界的API进行编码。它还会强迫您思考如何使用它,并根据这些用途而不是抽象的方式做出设计决策。

答案 1 :(得分:13)

“只需​​列出此应用程序类图中的字段和方法,GUI将与应用程序进行通信”

这非常有效。

执行此操作后,尝试编写文档 - 详细示例。如果您的文档难以编写,令人困惑或蹩脚,那么您需要修复API以添加功能。

然后将它展示给其他人。

如果人们感到困惑或抱怨,那么您可能需要在API中添加其他功能。

在人们实际上感到困惑或实际抱怨之前,不要做任何超过最低限度的事情。

答案 2 :(得分:7)

我会指定一个界面。这会分离GUI和应用程序。

GUI将仅使用接口(除了一次调用返回具体对象的工厂方法),API将实现该接口。像这样,GUI不知道应用程序的任何类名。这导致了一种最适合未来发展的稳定设计。

此外,该界面可作为完整API的精彩文档。

答案 3 :(得分:6)

我将API(半)独立于GUI的实现,因为稍后您可能想要为同一个应用程序创建不同的接口,或者只是更改GUI,然后你就会陷入困境您为第一个GUI的第一次传递创建了。

此外,我强烈建议您查看Josh Bloch's talk about API design。 Bloch是设计Java Collections API的人。