API设计:调用者不需要关心,API的通用性和扩展性,只关心是不是满足需求,好不好用

285 阅读2分钟

ChatGpt

确实,在一些情况下,为了实现通用性,过于注重代码的简洁和高效而将业务逻辑集中在客户端代码中,从而使得客户端应用程序负责管理业务逻辑、数据处理和应用程序状态的管理。这不利于应用程序的维护和扩展,并可能导致代码的重复和错误。

在设计服务端API时,应该尽可能将业务逻辑的实现放在服务端,而非在客户端,以保证客户端应用程序的松耦合性和高内聚性。合适的服务端API设计应该既能满足业务需求,也具有通用性和灵活性,以便在应对业务需求变化时能够减少对代码的修改。

好的API设计,可以让后续业务需求变更和扩展更加容易和安全,并且可以避免多次设计和编码带来的重复工作量和时间消耗。API设计需要综合地考虑之后的需求变化和扩展,确保其具有较强的扩展性,同时需要遵循软件工程原则、设计模式和架构思想,从而实现高质量的API设计。

Me

“合适的服务端API设计应该既能满足业务需求,也具有通用性和灵活性,以便在应对业务需求变化时能够减少对代码的修改。”

这里面的通用性和灵活性都只应该是服务端内部的事情,不应把这些因素扩散到使用者的身上

ChatGpt

您说得很对。服务端应该尽可能地隐藏实现细节,对于客户端来说只提供必要的接口和数据,并确保这些接口的易用性和兼容性。通用性和灵活性应该是服务端内部的设计原则,以便在应对业务需求变化时,服务端能够灵活地调整并提供合适的功能。而对于客户端来说,它们只需要调用API接口来获取所需的数据或执行所需的操作,并且可以在不修改客户端代码的情况下,适应服务端的变化。

调用者根本不需要关心,API的通用性和扩展性,只关心是不是满足需求,好不好用。所以服务端不要再拿什么设计来当接口不好用的借口了。