悩ましいですなぁ、奥様。どうしたもんでしょう。
業務アプリは絶えず情報が流れていくので、必ずと言っていいほどワークフローが存在する。だって、流れていかないと仕事が回らない。それをどうやって管理するのかはシステム屋の腕の見せ所でもあるのだろうけど、コレという最適解が今の所無いように思う。
一言で言ってしまえば、ワークフローのその途中のアクティビティをどう管理するのか。
どっちにせよ、フラグを持つケースが多いと思う。というか、真剣に考えたことが無いけどフラグ以外の選択肢ってあるのだろうか?
フラグで状態を管理するのは各々違う状態を別のフラグにするか、「状態」っていうフラグを用意して値を変えて管理するかのどちらかになると思う。
前者は「申立てがあった」「上長が確認した」「決裁降りた」「差し戻された」っていう状態を、別々のフラグを設けてON/OFFで管理する方法。後者は「申立て:0、上長確認:1、決裁完了:2,差し戻し:9」って感じで、値を変えることで状態が変わったと判断する方法。僕は後者が好きだけど、結局フラグである以上肥大化する危険性は常に孕んでいる。
結局、状態ってのは何かしらイベントがあって変わるので「イベントと状態のマトリックス」を作る事になると思う。組み込みのデバイスはキータッチがあるから、それはそれは大変そうだ・・・。UMLにState Chartというのがあり、まずはそこで頭を整理するのが定石のようだ。何にせよ「状態」と「状態管理」は、別の行いになるだろうなぁ。
僕が作ろうとしているのはヒト桁の状態管理でコトが足りるが、もちろんそういう問題でもないわけで。
この辺をもう少し掘り下げて勉強したい。
#そこでburiって言われそうw