代码优先与API优先比较 - Xu


代码优先(Code First)是程序员首先开发代码,不进行API设计,代码集成测试发布时。再对API进行测试。
API优先(API First)是首先设计API,然后测试API,再进行代码开发。

在代码优先(Code First)与API优先(API First)比较中,为什么推荐API优先?

1、微服务增加了系统复杂性 我们有单独的服务来服务系统的不同功能。
虽然这种架构有利于解耦和职责分离,但我们需要处理服务之间的各种通信。
在编写代码和仔细定义服务边界之前,最好考虑系统的复杂性。

2、不同的职能团队需要使用相同的语言:
专门的职能团队只负责他们自己的组件和服务,建议组织通过API设计讲同一种语言(DDD统一语言

3、提高软件质量和开发人员工作效率
由于我们在项目开始时就消除了大部分不确定性,整个开发过程更加顺畅,软件质量也得到了很大的提高。
开发人员也对这个过程感到满意,因为他们可以专注于功能开发,而不是协商突然的变化。 在项目生命周期结束时出现意外的可能性降低了。

4、因为我们首先设计了API,所以可以在开发代码的同时设计测试。
在某种程度上,当使用API首先开发时,我们也有TDD(测试驱动设计)。