達人プログラマーの五章に関するまとめ
- 結合度の最小化とデメテルの法則
結合度の低いプログラムは作業分割、保守性、テストの用意性など様々な面で有用である。
プログラムから詳細を排除し、可能な限りメタな状態にして詳細は設定ファイルなどに逃がす。
このことで再利用性の向上、詳細の仕様が決まらないまま開発を進める、
設定ファイルのみ変更し再コンパイルせずに修正、メタデータにより業務領域に近い表現が可能
など様々な利点がある。
- 時間的な結合
各処理の時間の遷移をアクティビティ図などでまとめて把握することにより以下の利点がある。
並列処理を可能にし、処理効率が向上。
結果としてシンプルで独立したプログラムが作成される。
並列処理の要件が発生した際にすぐに対応出来る。
- 単なる見かけ
MCVの独立性を確保することで変更に強く、拡張性のあるプログラムを作成出来る。
同じデータに対して複数のビューを作成したい
一つのビューで複数の入力に対応したい
などの要件が発生した場合に柔軟に対応することが出来る。
例えば、WebシステムのビューにHTML5対応版を追加したい、などといった場合に
適切な設計がされていればビュー以外の変更は最小限で済むようになる。
- ホワイトボード
刑事がホワイトボードに事件の情報を記述するようにお互いに独立した
クライアントがサーバーに対して非同期で書き込みをすることで
情報の共有を行うことが出来るようなシステム。
具体例としてはJavaSpaceやT Spacesなど。
■感想
メタプログラミングが極まると下級プログラマは設定ファイルを記述してテストするだけの人に
成り下がるのでは・・・と思ったり。
そこまで行くのはまだ先かもしれませんが、自分はメタプログラムを書く方に回りたいので
TODOリストに追加。常時メタの視点を忘れずに居ること。
- 作者: アンドリューハント,デビッドトーマス,Andrew Hunt,David Thomas,村上雅章
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2000/11
- メディア: 単行本
- 購入: 42人 クリック: 1,099回
- この商品を含むブログ (348件) を見る