0
命令查询分离建议每个方法要么是执行的动作的命令,或数据返回到调用者查询:String类的replace()方法是否违反Command-Query Separation?
但对于String类的例如以替换()方法。
它的签名是:替换字符串(字符串str);
它违反了CQS,不是吗?
我承认,这违反了,我看不出我们如何解决它,以便取代(),它是一个命令可以通知最新字符串的调用者。确实,根据CQS的命令必须具有返回类型的无效。
你有一个问题,或者你只是做一个观察?参见http://stackoverflow.com/faq#dontask –
谁说Java甚至远程地遵循CQS?无论哪种方式,'replace'都不会改变它被调用的字符串。 –