分类: LINUX
2010-07-23 16:26:37
就Unix系统的X的设计来说,它是基于这样一个决定去实现的:基于机制而不是策略。X 仅仅实现的是一个普通的图形引擎,而特定于用户的接口,则留给其他的工具包或者系统的其他层次提供。
所以,实现中,把策略和机制的绑定在一起会带来2方面的不好影响:
1) 它会造成策略是刚性的,很难根据用户的需求做出改变。
2) 意味着,如果改变了策略,则很可能需要改变机制的实现。
反过来,通过策略和实现机制的分离,我们可以实现新的策略,而不需要改动或者改变实现的机制。而且,我们可以很容易地为机制写出好的测试。
这个设计原则广泛地应用于GUI中,这就意味着我们应该想办法把接口从引擎当中分离出来。
注:策略是随着不同的用户和时段变化的,而机制相对的变化会慢很多。
ps
程序编写的一般性原则:
1)写出好的程序重要,但写出可以方便调试的程序更重要。