不好的设计的几个特性: 僵化性:很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的改动。脆弱性:对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题。牢固性:很难解开系统的纠结,使之成为一些可在其他系统重用的组件。粘滞性:做正确的事情比做错误的事情要困难。不必要的复杂性:设计中包含有不具任何直接好处的基础结构。不必要的重复:设计中包含有重复的结构,而该重复的结构本可以使用单一的抽象进行统一。晦涩性:很难阅读、理解。没有很好的表现意图。