X Window在1984年由MIT研发,它的设计哲学之一是:提供机制,而非策略(类似面向对象思想中的“针对接口编程,而不是针对实现编程”)。机制(mechanism)是指需要提供哪些功能,策略(policy)是指如何实现这些功能。X Window将“提供机制,而非策略”这个哲学贯彻地非常彻底,以致于核心协议基本稳定,不需要特别大的改动。你可能会诧异,30年了,X Window的核心都没有特别大的变化,它能适应现代桌面的快速发展吗?这就要再次提到X Window的设计优势了,X Window在核心层之外提供一个扩展层,开发者可以开发相应扩展,来实现自己的扩展协议。X Window的核心,基本上就是在处理Server/Client、驱动之类的,而外部的那些支持,基本上全是通过“扩展”进行的。这没什么不好,X Window的结构设计精良,尽管是扩展,但它们没有任何效能上的问题。通过扩展方便地实现了一些对新技术、新事物的支持,而且方便维护,这再好不过了。所以你看到了尽管30年过去了,基于X Window的GNOME、KDE,还能保持与同期Windows、Mac OS X竞争甚至某些方面更好,你就不得不佩服这些前辈在最初设计时定下的设计哲学是多么正确了。
X窗口系统架构图
原文地址:http://blog.csdn.net/hantangsongming/article/details/34077767