注文のキャンセルの話は終わった?
終わってないね。

で結局キャンセルできるかどうかを判定する
メソッドはどこに作ることになったの?

まずキャンセルできるかどうかっていうのは
状態によってだけじゃなくて、権限によっても決まってくる。
でも状態の権限の2箇所で判定するのは面倒。

例えば、キャンセルボタンがenabledなのかdisabledなのかっていうのは
キャンセルできるかどうかで変わるわけだけど、
ビューに if (キャンセルできる? && 権限がある?) などと書いてしまったら
こういうのがあちこちに散らばってしまう。ために権限の事忘れたりね。

だから if (キャンセルできる?) と条件一つにしないといけない。
このキャンセルできる?の中には権限のチェックなどすべてのチェックが入っている