流れとは無関係な話。
今、「たとえる」を辞書で調べたら、「譬・喩」の漢字しか当てられていませんでした。
「例」は「たとえば」の用法で使う漢字のようで、
「例える」というのはどうも誤用のようです。どうでもいいですが。


一寸脱線。
オブジェクト指向プログラミングを召喚魔法に喩えて説明してみようと思った事があります。
両者の構造は、結構似ているのです。やってみませう。
プログラミングにおいて、機能単位で一連の手続きをまとめたもの。
関数とか命令とかサブルーチンとか呼ばれるものです。今は関数と呼ぶことにします。
この手法が考えられた当初は、関数はグローバルな範囲からアクセスが可能で、
全ての関数は、プログラムのどこからでも呼ばれる事が可能だったわけです。
これが、オブジェクト指向以前のプログラミングです。
さて、オブジェクト指向プログラミングを召喚魔法に譬えるならば、
関数は普通の魔法ということになります。
魔導師が直接魔法を使うのが、昔のプログラミングです。
オブジェクト指向は、召喚師がオブジェクトを召喚し、そのオブジェクトを使役して魔法を発動します。
魔導師と召喚師との大きな違いは、
○魔術師が多くの技を使うためには、大量の魔法を一つ一つ覚える必要がある。
○召喚師は(それぞれのオブジェクトが幾つかの技を持っているので)同様の技を使うために、
 召喚できるようになるべきオブジェクトの数が、魔術師における魔法の数ほどには至らない。
ということです。
で、召喚師タイプの一見面倒に思える手法が好まれる理由ですが。
その1。
プログラムの規模が大きくなると、1プログラム内に存在する魔法の数も増えていきます。
魔術師タイプの場合、全ての魔法がそれぞれ識別できなければならない→別名をつけなければならない
ので、名前の衝突を避けるために魔法の名称は長くせざるを得ません。
安全なプログラミングを心掛けるならば、名前は必要以上に長くなります。めんどいです。
召喚師タイプでは、一つのオブジェクトが持つ魔法の名前が一意でありさえすればよいので、
あまり名前に気を使わなくても済むのです。
その2。
オブジェクトは基本的に、一定ジャンルの魔法が使えるように設計されます。
イフリートを召喚して、冷気の技を使わせる事はできないし、そんな事ができては困るのです。
炎で攻撃してもらうために、彼を呼ぶわけですから、のこのこ出てきて覚えたてのしょぼいブリザドでも使おうものなら、
「てめえおまえ喚ぶためにMP幾ら消費したと思ってんだコラ」と、即刻パーティアタックで処刑してしまいそうです。
ある関数で、召喚師がイフリートを3匹喚び出していたら
「どうも余程炎に弱い敵ばかりのようだな!」
「この関数では、冷気攻撃が行われることはないな!」
という状況がすぐに読み取れます。
関数内で行われる事、行われない事が明確になるので、プログラムの見通しが良くなるのです。