API的作用在于提供给外部使用特定模块的接口。当您使用API添加依赖时,这个依赖所包含的模块的接口会对外界暴露出来。这意味着,如果模块A被引用,而另一个模块B依赖了A,那么B就能访问A中的接口。
相比之下,使用implementation添加依赖时,所添加的依赖只对当前模块提供接口。这意味着这个依赖的接口不会对外界暴露,只对当前模块内部可用。这可以用来避免某些模块的内部实现被外部访问,保护模块的完整性和安全性。
简而言之,API用于公共接口的提供,允许外部模块访问和使用特定功能。而implementation则用于内部依赖,仅在当前模块中可见,保护了模块的私有性和完整性。