读书人

怎么合理设计API

发布时间: 2012-06-20 20:37:21 作者: rapoo

如何合理设计API?
如要开发一个同步通讯库给其他开发人员用。

客户端提供send操作,服务端提供recv,send操作。

就是客户端提供发送数据并返回接收到的数据,服务端提供接收请求后做业务处理然后提供发送响应操作的API。


客户端肯定没问题。就是Data send(Data request)。但服务端有两种方式。如

1>
Data request = recv();

//业务处理

send(response);

2>
void recvAndSend(IProcess process);

Data process(Data request);

即一种是分开的两个API,一个是提供IProcess接口。如何提供才更好呢?

第一种可以让用户去处理并发等操作,如多线程处理等。第二种需要用户实现指定的接口,然后使用通讯库提供的多线程处理。如何选择呢?

[解决办法]
API 的设计要尽量让使用者能更多地进行调用及控制。

IProcess 为什么不直接用 Process 作为接口名,要前面加个“I”?

读书人网 >J2SE开发

热点推荐