makotan _at_ gmail dot com

ぶりと・・・

成人の日スペシャルwww
初期の頃からぶりにはデシジョンテーブルみたいな機能をかなり早い時期から持たせてて
それはたんなる気まぐれでもなく、ぶりが必要としているから作ってる訳ではなくて
ぶりの状態制御機能とデシジョンテーブルみたいな機能は補完関係が成立し易いって事なんです


ぶりはある特定のデータの状態を追跡/管理するだけの仕事
デシジョンテーブルみたいな機能はあるルールに基づいて判断してその結果を返したり、実行したりするもの
なので、実装的には全く関係がない機能です(そのためぶりからえびに移動した)


デシジョンテーブルみたいな機能でいう「あるルール」とは?
ここが多分一番重要でぶりには存在してないもの・・・
大きくいくつかに分けられて

  • 料金表みたいに入力からある値を得るもの
  • 値の単純な変換(長さとか重さとか)
  • データの値などから処理の決定(デシジョンテーブル

これらそれぞれはぶりの機能に一切無く、かつプログラムで書くとifの羅列になるため、バグが発生し易くなるので回避すべき対象そのもの
実際にぶりで対応困難なほど複雑な判断を必要とする場合(超レアケースだけどフローを見ると多分判る)は、デシジョンテーブルを簡単に実装できてパフォーマンスにもあまり影響の無い物を使うと良いと思う。実際デシジョンテーブルのエンジンは凝らなければ1から作っても大変じゃないしね
あとは簡単な導出系の機能として使うといい感じに実装できる