我们正在开发一个JSON API来向少数客户(即iOS和Android应用程序)提供数据。
现在,不断出现的问题是:从什么角度来构建我们的JSON?
JSONs键以应用程序中匹配的UI元素命名。 e.g:
{
"label" : "This is a headline of a news article",
"textField" : "This is the text of a news article",
}
临
可以在不发布应用程序新版本的情况下更改应用程序的内容。如果您想更改UI标签的内容,它将如下所示:
{
"label" : "This is a short abstract of a news article"
}
此外,应该可以在客户端只有一个与一个视图相关的数据模型。
魂斗罗:
在服务器端生成混乱,因为必须从数据对象名称转换为UI元素名称
JSON密钥以提供数据的数据实体命名
{
"articleHeadline" : "This is a headline of a news article",
"articleText" : "This is the text of a news article"
}
临
JSON API说明了它的作用。密钥名称显示密钥的内容。
魂斗罗:
在客户端生成混乱,因为必须有翻译 从数据对象名称到UI元素名称
内容更改也会更改JSON密钥的名称。
{
"articleAbstract" : "This is a short abstract of a news article"
}
这还需要对使用API的所有应用程序进行代码更改和部署。
答案 0 :(得分:2)
您的API不应该知道您的应用是如何实现的。它应该提供服务,但不知道用它做了什么。
您应该为字段提供描述性名称。
应将应用中的字段更改为描述性名称,例如“articleHeadline”和“articleBody”。
<强>更新强> 您可以查看两个级别
大图 - API设计,依赖控制,架构
Robert C. Martin(a.k.a叔叔鲍勃)的文章是一个很好的起点。{p> This它概述了软件设计不良所带来的许多问题,并概述了良好(可靠)软件设计的SOLID原则。我强烈建议阅读,重新阅读,并试图完全理解它。详细信息 - 方法名称,变量名称,格式,注释
罗伯特·C·马丁(Robert C. Martin)也谈到了写好代码的许多细节。This Book。它还描述了所谓的“代码气味”或启发式方法,表明可能是更好的解决方案。