0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

#0039(2024/02/09)memo「良いコード/悪いコードで学ぶ設計入門」第3章~クラス設計~

Posted at

「良いコード/悪いコードで学ぶ設計入門」第3章~クラス設計~ を読んで...

アクティブリコール

  • 意味がある塊ごとのクラス・メソッドを分ける
  • 原則:”低結合・高凝集”
    • 保守しやすいコード
  • 値の初期化で変数が上書きされないようにfinalをつける(コンストラクタ)
  • intではなく、Money型を作成
  • 実態にそぐわないメソッドは作らない→金額計算に金額同士の掛け算が必要ない

パッシブリコール

  • クラスは「インスタンス変数」「メソッド」で構成される
  • クラスはクラス単体で動作するように設計をする
  • 悪魔
    • 生焼けオブジェクト→ガード節を使ってコンストラクタ時にバリデーションでエラーを投げる
    • 変数の受け渡し間違い→引数に適切な型を設定、型にはバリデーション付き
    • 副作用→初期化を呼ぶたびに、以前に初期化したインスタンスへ影響が起こる→finalで保護
  • デザインパターン
    • 完全コンストラクタ:インスタンス変数が置き換えられないようにする
    • 値オブジェクト:intではなく、Money型を利用する

振り返り:2章の内容

  • 意味があるまとまりでメソッド化
  • 変数を使い回さずに、意味がある変数名をつける
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?