提供给最终用户的编程接口,应该符合以下需求:
- 接口必须提供必要的功能来操纵基础系统。
- 接口一定不能暴露私有实现细节。
- 基础组织的变化必须与客户程序绝缘。
- 与该接口相关的开销一定不能过大。
定义36:handle是一个类,维持一个指向一个对象的指针,该对象可以通过handle类的公共接口编程访问。
原则64:在一个过程接口中,使客户程序只显式的析构那些他们显式创建的对象,可以减少所有权关系上的混乱,并且可以提高性能。
原则65:尽管计算机体系结构和编译器各不相同,但是下列的规则可以帮助系统结构设计师决定:在设计的早期,是否绝缘以及如何绝缘。
----------------------------------------------------------------------
访问 单独访问的相对开销
----------------------------------------------------------------------
借助内联函数通过值 1
借助内联函数通过指针 2
借助非内联、非虚拟函数 10
借助虚拟函数机制 20
创建 单独分配的相对开销
----------------------------------------------------------------------
自动化 1.5
动态 100+
----------------------------------------------------------------------
本文探讨了为最终用户提供高效编程接口的设计原则,强调了接口的功能性、私密性和性能优化的重要性。文中还介绍了Handle类的概念及其作用,并提出了两个实用的原则以指导接口设计,同时给出了不同访问方式和对象创建的成本估算。

被折叠的 条评论
为什么被折叠?



