うまとま君の技術めも

2015年新卒入社した社畜の勉強内容などなど

アジャイル検定Lv.2 勉強メモ - モデリング

アジャイル検定Lv.2 出題範囲

オブジェクト指向設計

オブジェクト指向設計とは?

  • システムがどのように構築されるかをオブジェクトの集合としてモデル化したもの
    • オブジェクト
      • 何かしらの概念を表現したもの
      • データ構造や処理を実行するメソッドによって構成される

なぜオブジェクト指向設計を用いるのか?

  • 変更に対して柔軟に対応するため
    • 頻繁に変更される部分を抽出することで変更に対応する
      • 変更される部分 → クラス
      • 変更されない部分 → インターフェース

継承・ポリモーフィズムカプセル化

  • オブジェクト指向設計を行う上で重要となってくる3つの要素
    • 継承
      • 交換可能なパーツの規格を抽象概念として定義し、規格を元に様々な種類のパーツを作成すること
        • インターフェースから派生したクラスを作成する
    • ポリモーフィズム
      • 抽象概念に対してプログラミングすること
      • e.g. Animal animal = new Dog(); animal.bark();
    • カプセル化
      • 外から見てシンプルで使いやすいものを作ること
        • 役割を1つにする・分かりやすい命名 が重要となってくる

疎結合

  • 抽象に依存することで、依存先への影響を受けにくくする
    • インターフェースに依存する

Dependency Injection

  • インスタンス生成時にクラスに依存してしまう問題を解決する事ができる

参考資料