本想好好总结一下自己从事API工作的经历,写了写筛了筛后始终没写出理想的,只好硬着头皮零散的写一写,就当给自己将来回味软件开发留个记号。
顾不上书上写的理性主义或者经验和主义。工作上有需求咱就开工,勇敢的去承担开发API的工作吧,勇敢的推出自己的第一个版本。但要记住API就像世界上客观存在的物体一样,没被发现还好,一旦发现就永远不会从人的视线中消失。兼容性、持续升级性等特性时刻记在脑子里。一个API库要有对应的SDK文档、示例代码,让使用者通过简单明了的示例代码发现自己是否需要该API库,随后再通过SDK文档深入的了解,以便更好的辅助其工作。
根据自己的知识水平,总结一些API特征,不周全之处还请都指教。
1、要严格控制对外公开的服务,不可有“大贡献精神”,务必控制好对外公开的服务。
2、不要把可变字段直接对外公开,严格的控制在内部,可以通过get与set机制对外公开。
3、使用工厂方法而不是直接使用构造函数来创建类实例。
4、在设计类的时候,如果不考虑让其拥有子类,要把类定义为不能被继承。
5、避免对外公开深层次的继承,如果有必要可以专门定义对外公布服务的容器,使API逻辑简单下来。
6、面向接口而非实现进行编程,这里的接口不是C#里的interface,而是指抽象。
7、采取模块化的构架思路作为指导思想。
8、向C#里的ManualResetEvent、AutoResetEvent、EventWaitHandle学习,针对不同的客户会有不同的需求,为了满足不同层面用户,建议做不同的分类。
9、人靠衣服马靠鞍,一个专业的API也要捯饬捯饬,什么SDK、TCK能提供的都提供上。
10、谨慎使用第三方API。
后半截总结正努力总结中......