Java-为什么要使用状态设计模式来将状态保存在变量中



我对Java非常陌生,所以请原谅,如果这听起来像是一个愚蠢的问题。

当您只能将给定对象的状态保存在变量中,然后制作时基于开关和if-else语句的决定以后?

if - elseswitch语句鼓励脆弱的代码和责任混合。

每次添加/删除/更新状态时,都必须更改相同的类和方法,或者调用sub方法,因此您会增加在任何状态逻辑中引入回归的几率,而您将更改其中之一。

通过分开关注点,国家没有耦合;您可以轻松地修改它们,而不会冒险更改任何其他人。您甚至可以通过单位测试来验证此。

最新更新