makotan _at_ gmail dot com

データと処理の分離

画面の処理と非画面処理の分離は今頃話題にならないくらいのネタ。だからOK・・・でもその理由は?処理のスコープを小さく押さえる為。さらにその理由は?スコープを小さく押さえる事で修正の影響範囲を最小限にとどめる事が出来るから。ついでにユニットテストでテストしやすくなる。
この考え方を一歩進めて、データ構造と処理の関係に注目。
#データ構造と処理もスコープの概念が存在出来るって事
言い方を変えれば同じデータ構造を扱う別種の機能が存在する。機能同士が関係しあわない場合、それをキチンと分ける事でスコープは小さくなる。
データ構造が安定している状態で、機能のみに手を入れる場合は不要な機能への影響が無い事が簡単に判るので変更に対して強くなる。
では、どんなときに機能とデータの分離をするべきか。
それを考えるには色々な情報が必要になって一概に言えないので簡略化する為に常にデータと処理を分離することにする。
って言うのがあの基本路線のような気がする。