DLL 设计接口

来源:互联网 发布:风管阻力计算软件 编辑:程序博客网 时间:2024/06/06 02:07

   接口是提供给第三方使用的,较难用的接口会导致接口使用者的抱怨。
    如:
        SetCookie(void* handle, const CookieParam& param);
        GetCookie(void* handle, CookieParam& param);
    此接口名称的意义还是比较明确的,但是参数CookieParam过于抽象,将导致接口的调用
者在使用接口时,需要将基本数据类型的值组成一个CookieParam类型,然后才能调用接口。
这是一种糟糕的接口设计。既不便于使用又不便于编译器优化(待确认)。
    如果该为下面的接口则较容易使用
        SetCookie(void* handle, const URL& url, const String& cookie);
        GetCookie(void* handle, const URL& url, String cookie);
    除非接口的参数个数超过5个,否则最好采用基本数据类型作为参数。超过5个参数的函数
一方面给调用者带来困难,参数排列组合的情况过多,另一方面就是不利于编译器优化时采用
寄存器传递参数。