●●デザインパターンって死滅しちゃうの??●●
■ このスレッドは過去ログ倉庫に格納されています
0088デフォルトの名無しさん
NGNGたとえば関数電卓なんかで使う、関数名と実装の関数ポインタの対となるテーブルを用意して使う方法。
struct {
const char *name;
int num_opl;
int (*func)(struct node*);
} op[] = {
{ "sin", 1, Sin },
{ "cos", 1, Cos },
{ "ack", 2, Ack },
};
これで「テーブルドリブンパターン」とか。if - else でロジックに埋め込むよりも保守が楽。
他にも末尾に番兵となる要素を入れておく「センチネルパターン」、連結リストを使うときに両端にダミーノードを
ひとつ用意することで端かどうかの条件分岐を無くす「ダミーノードパターン」とか、いくらでも出てきそうな気が
する。
(この例だと、設計よりは実装よりだな……)
■ このスレッドは過去ログ倉庫に格納されています