这个概念背后的动机因素之一。除非你能必然性的预测出一组对象和类在遥远未来时所要有的品质，你不能恰当的设计好一个类的层级。程序最终需要增加行为实在是太频繁了，而系统的很多节段将需要重新设计（或重新构建）来以不同的方式迸发出对象。早期的面向对象语言如Smalltalk的实验，显示出这种问题反反复复的出现。系统趋向于增长到一定程度后就变得非常僵化，因为在编程者的代码下的深层的基本类，逐渐成为一个简单的“错误”。 没有变更起初的类的容易方式，严重的问题就会出现。动态语言如Smalltalk，允许通过周知的按照类