哲学

抽象级别

在实现操作系统或网络接口时,提供两个接口

  • 一个不隐藏平台特定或库特定功能的接口。例如,您可以在 Unix 上使用文件描述符,在 Windows 上使用 Win32 事件。

  • 一个提供高级接口,隐藏平台特定细节的接口。例如,进程运行在 Unix 和 Windows 上使用相同的 API,尽管实现方式大不相同。

更一般地重述

  • 为您的特定领域提供所有低级功能,而不限制用户可以做出的策略和决策。

  • 在低级实现(或实现)之上提供一个高级抽象,它实现了大多数情况下使用的常见用例和功能。

学习曲线

要求用户付出最少的努力和学习才能开始使用。如果这意味着他们拥有较少的功能,那也没关系,当他们需要时,他们可以学习更多。这也会导致更简洁、更容易测试的设计。

例如,使用 twistd 是部署应用程序的好方法。但要开始使用,您不需要了解它。稍后您可以开始使用 twistd,但它的使用是可选的。