#プログラミングパラダイム
- プログラミングパラダイムとはプログラミングの方法・スタイル
- 言語ではなく概念
- 悪い結合
- 片方を修正するともう片方も修正する必要がある結合や予想外の動作を強いられる結合
- 良い結合
- 内部構造に依存せず、明示的なもの
- 悪い凝集
- アトランダムに処理を集めたものや倫理的に似ている処理を集めたもの
- 良い凝集
- あるデータに触れる処理をまとめること(通信的凝集)や、概念とデータ構造などをひとまとめにすること(情報的凝集)、一つのうまく定義されたタスクをこなせるように集めること(機能的凝集)
- 状態と副作用の支配
- 副作用のない関数はテストしやすくバグが入る隙間がない
- 良いモジュール化のポイントはこれを隠すこととデータとアルゴリズムをひとまとめにすること
- EX)クラスとインスタンス化
- 抽象化されたデータを取り扱う層は、そうでない層(抽象化されていない層)に触れることがない階層化の概念