哲学¶
抽象级别¶
在实现操作系统或网络接口时,提供两个接口
一个不隐藏平台特定或库特定功能的接口。例如,您可以在 Unix 上使用文件描述符,在 Windows 上使用 Win32 事件。
一个提供高级接口,隐藏平台特定细节的接口。例如,进程运行在 Unix 和 Windows 上使用相同的 API,尽管实现方式大不相同。
更一般地重述
为您的特定领域提供所有低级功能,而不限制用户可以做出的策略和决策。
在低级实现(或实现)之上提供一个高级抽象,它实现了大多数情况下使用的常见用例和功能。
学习曲线¶
要求用户付出最少的努力和学习才能开始使用。如果这意味着他们拥有较少的功能,那也没关系,当他们需要时,他们可以学习更多。这也会导致更简洁、更容易测试的设计。
例如,使用 twistd 是部署应用程序的好方法。但要开始使用,您不需要了解它。稍后您可以开始使用 twistd,但它的使用是可选的。