13.2 switch-case实现 这又是一个关于变化的例子,在讲解如何封装变化之前,首先给出使用switch-case语句解决这类问题的代码。关于push操作的代码片段,大致如下。 这段代码看似并没有什么不妥。我们知道,需求总是不停变化的,如果又有新的状态需要加入时,你就得在push()方法和pull()方法里添加新的case分支语句,这就破坏了OCP原则。另外,如果逻辑比较复杂,一个case分支语句的代码甚至会超过几百行,代码会变得很难阅读和维护。