这里的界面指:客户端和接口的交互面,而不是指用户界面
客户端:指广义的Client,即接口的消费者
接口:指广义的接口,即提供消费的类、接口等
界面的设计原则:简单、清晰
1、界面的接口越少越好,更多的类等应封装在接口内部,即模块设计常讲的“高内聚,低耦合”
2、使用接口的步骤越直接越好,而不要有太多的使用步骤约定、隐含
3、在单线程的前提,界面的整体应该是封闭的,即消费完成一个接口,应及时释放
4、在单线程的前提,应使用正向调用或回调,不应使用逆向调用;保证界面不产生混乱
*正向调用:客户端调用界面的接口
*逆向调用:接口调用客户端的接口
5、对于,应用程序级开发,宜对GOF设计模式进行一些界面限制,以尽量避免客户端和太多的类打交道。
通俗的讲:
1. 隐藏实现细节;
2. 只提供必要的功能;
3. 不要对外部代码施加影响;----------------------禁止逆向调用
4. 保持接口风格的统一;
5. 在同一层次分配和释放资源;
6. 在较低层次检测错误,在较高层次处理错误。