顺序耦合在代码中真的是一件坏事吗?
虽然这是一种反模式,但我看到的唯一风险是以错误的顺序调用方法,但具有这种反模式的 API/类库的文档应该解决这个问题。顺序代码还存在哪些其他问题?此外,这种模式似乎可以通过使用外观轻松修复。
谢谢
这是一种反模式,忽略方法调用,因为之前不应该做的事情还没有完成。
这应该使用“合同设计”来控制。失败的前提条件通常会引发“失败的前提条件异常”,如果您以错误的方式使用该类,这基本上是软件对您大喊大叫。它们优于书面文档。 即使在您提到的维基文章中也有这样的观点
取决于上下文
。在很多情况下没有其他办法。最终我们使用算法
来解决任务。根据定义,它们是
使用有限指令序列
解决问题的有效方法有时可以隐藏此序列。但并非总是如此。
这是一个次要的反模式,就好像文档很糟糕(或者 API 很混乱)一样,你可能会让事情陷入糟糕的状态。它就像一个食谱,它只告诉你在将鸡蛋打匀后将蛋黄放在一边。
如果该类不进行网络通信,则这是一个次要的反模式。如果该类执行网络通信,那么它很容易通过强制网络延迟和复杂的并发处理而升级为非常糟糕的情况。