18、努力让接口完满(complctc)且最小化
1、接口的完满与最小化
声明与定义一个新的class,我们尽量要他的接口完满且最小化。而所谓接口,就是对于这个类的使用者,使用接口完成某些事情,至于具体的实现方法、过程是不需要知道的。
使接口完满,就是让这个class能实现所有的功能,即满足使用者所有的需求。
使接口最小化,则是使得接口的数量尽可能的少,接口的功能尽可能的不要重叠。
2、为啥要让接口完满且最小化
接口完满,使用者才能使用他完成一系列事情,否则,class的功能将是不完整的。
接口最小化,则是因为以下几点:
1.接口太多,不利于使用。使用者使用时需要考虑具有类似功能的多个接口之间的差异,而实际上接口的差异可能对于使用者的影响不是很大。
2.接口太多,不利于维护。很简单,维护这个class,每个改动可能需要维护很多接口,浪费时间。
3.接口太多,导致头文件很长,必然导致编译头文件时间变长,影响程序的开发。
但是,让接口最小化并非是不能添加接口。如一些常用的成员函数可能便于使用者理解、可以大幅提升效率、可以防止发生错误,则也可以放入接口中。还有一些情况,如为了适配老版本、旧代码,也可能添加一些接口使得他不是最小化。