スポンサーリンク
Java

Java | オブジェクト指向:モックしやすい設計

「モックしやすい設計」とは何かモックしやすい設計は「テストのときに、本物の代わりの“ニセモノ(モック)”を簡単に差し込める設計」のことです。たとえば、実際にはメールを送らずに「メール送信が呼ばれたかだ...
Java

Java | オブジェクト指向:テストしやすい設計

「テストしやすい設計」とは何かテストしやすい設計は「そのクラスやメソッドを、単体でサクッと動かして結果を確認できる設計」のことです。もっと言うと、テストを書くために余計な準備がいらないテストしたい部分...
Java

Java | オブジェクト指向:再利用しやすいクラス設計

「再利用しやすいクラス」とは何か再利用しやすいクラスは「別の場面・別のプロジェクトでも、ほとんどそのまま使えるクラス」です。もう少し噛み砕くと、特定の画面・特定の DB・特定のフレームワークにベッタリ...
Java

Java | オブジェクト指向:public フィールドの問題

public フィールドがなぜ問題になるのかpublic フィールドは「この変数は、どこからでも読み書きしていいです」と世界中に宣言しているのと同じです。一見「楽」「コードが短い」で済みますが、その代...
Java

Java | オブジェクト指向:可視性を最小にする

可視性を最小にするとは何か「可視性を最小にする」は、クラス・フィールド・メソッドのアクセス範囲(public / protected / なし / private)を「必要な場所にだけ見えるよう、でき...
Java

Java | オブジェクト指向:defensive copy

defensive copy とは何かdefensive copy(防御的コピー)は「オブジェクトの中身を、外から勝手に壊されないように、防御のためにコピーを取るテクニック」のことです。特に List...
Java

Java | オブジェクト指向:コレクションをフィールドに持つ設計

「コレクションをフィールドに持つ」とは何を意味するかコレクションをフィールドに持つ設計というのは、クラスの中に List や Set、Map などを「メンバー」として抱える設計のことです。例えば、注文...
Java

Java | オブジェクト指向:値オブジェクトの比較

値オブジェクトの「比較」とは何を意味するか値オブジェクトは「中身の値が同じなら、同じものとして扱うクラス」です。お金 1000円、メールアドレス x@example.com、日付 2025-01-01...
Java

Java | オブジェクト指向:Entity の同一性

Entity の「同一性」とは何かEntity の同一性とは「そのオブジェクトが“誰なのか”を決める軸」のことです。もっと噛み砕くと、・中身(名前や住所)が変わっても「同じ人」として扱いたいもの・「同...
Java

Java | オブジェクト指向:DTO と Entity の違い

DTO と Entity は「役割」がまったく違うDTO と Entity は、どっちも「フィールドを持ったクラス」なので見た目が似ていますが、役割がまったく違います。DTO(Data Transfe...
Java

Java | オブジェクト指向:神クラス(God Object)

神クラス(God Object)とは何か神クラス(God Object)は「システムのあらゆることを“何でも知っていて、何でもやろうとする”巨大なクラス」のことです。画面の制御もやる。ビジネスロジック...
Java

Java | オブジェクト指向:クラス肥大化の兆候

クラス肥大化って何がまずいのかクラス肥大化は「とりあえずあれこれ押し込んでいるうちに、そのクラスだけ異様に太ってしまった状態」です。1つのクラスが、画面の制御も、ビジネスロジックも、DB のやりとりも...
Java

Java | オブジェクト指向:不変条件の守り方

不変条件ってそもそも何なのか不変条件(invariant)は「このオブジェクトが“生きている間ずっと”守られていないといけない約束」のことです。例えると、ユーザーのポイントは常に 0 以上注文は明細を...
Java

Java | オブジェクト指向:不正な setter の問題

なぜ「不正な setter」が問題になるのかsetter 自体は悪ではありません。ただ「何でもかんでも public な setter を生やす」「ルールも何もなく値を変えられるようにする」と、オブジ...
Java

Java | オブジェクト指向:リッチドメインモデル

リッチドメインモデルとは何かリッチドメインモデルは「ドメイン(業務)の知識とルールを、“それっぽい名前だけの入れ物”ではなく、クラスの中身としてちゃんと持たせよう」という考え方です。もっとストレートに...
Java

Java | オブジェクト指向:貧血モデルとは

貧血モデルとは何か貧血モデル(Anemic Domain Model)は「フィールド(データ)だけ持っていて、自分の振る舞い(ビジネスロジック)をほとんど持たないオブジェクト」がシステム中にあふれてい...
Java

Java | オブジェクト指向:ドメインモデルの考え方

ドメインモデルとは何かドメインモデルは「扱っている世界(業務)の“概念”を、そのままクラスとして表現したもの」です。給料計算システムなら「社員」「勤怠」「給与」EC サイトなら「商品」「カート」「注文...
Java

Java | オブジェクト指向:switch 文のオブジェクト化

「switch 文のオブジェクト化」とは何か「switch 文のオブジェクト化」は、switch にベタっと書いている「種類ごとの違い」を、それぞれのクラス(オブジェクト)に持たせるように書き換えるこ...
JavaScript

JavaScript | 配列・オブジェクト:配列の検索・判定 – 条件検索の書き方

条件検索とは何か配列の「条件検索」は、要素の値やプロパティが“指定した条件を満たす”ものを探すことです。ここが重要です:何を返したいかで使うメソッドが変わります。要素そのものが欲しいなら find、位...
JavaScript

JavaScript | 配列・オブジェクト:配列の検索・判定 – undefined 要素の扱い

undefined 要素とは何か配列の「undefined 要素」は2種類あります。ここが重要です:値が undefined で“入っている要素”と、インデックスはあるのに“実際には値がない空スロット...
JavaScript

JavaScript | 配列・オブジェクト:配列の検索・判定 – 配列内存在チェック

配列内存在チェックとは何か「配列内存在チェック」は、ある値や条件に合う要素が配列に含まれているかどうかを判定することです。ここが重要です:何を知りたいかで使うメソッドが変わります。「あるかどうかだけ」...
JavaScript

JavaScript | 配列・オブジェクト:配列の検索・判定 – every

every とは何かevery は「配列の全ての要素が、与えた条件を満たすか」を true/false で返す判定メソッドです。1つでも条件を満たさない要素が見つかった瞬間に false を返し、探索...
JavaScript

JavaScript | 配列・オブジェクト:配列の検索・判定 – some

some とは何かsome は「配列の中に、条件を満たす要素が“少なくとも1つでもあるか”を true/false で返す」判定メソッドです。見つかった瞬間に検索を止める“短絡評価”を行います。ここが...
JavaScript

JavaScript | 配列・オブジェクト:配列の検索・判定 – findIndex

findIndex とは何かfindIndex は「配列の中から、条件に一致する“最初の1要素のインデックス(位置)”を返す」検索メソッドです。見つかれば 0 以上の番号、見つからなければ -1 を返...
JavaScript

JavaScript | 配列・オブジェクト:配列の検索・判定 – find

find とは何かfind は「配列から、条件を満たす“最初の1要素”を返す」検索メソッドです。見つかればその要素、見つからなければ null ではなく undefined を返します。ここが重要です...
JavaScript

JavaScript | 配列・オブジェクト:配列の検索・判定 – includes

includes とは何かincludes は「配列の中に、指定した値が“存在するかどうか”を true/false で返す」判定メソッドです。位置は返さず、単純に“あるかないか”だけを答えます。ここ...
JavaScript

JavaScript | 配列・オブジェクト:配列の検索・判定 – lastIndexOf

lastIndexOf とは何かlastIndexOf は「配列の中から、指定した値が“最後に現れる位置(インデックス)”を返す」検索メソッドです。見つかれば 0 以上の番号、見つからなければ -1 ...
JavaScript

JavaScript | 配列・オブジェクト:配列の検索・判定 – indexOf

indexOf とは何かindexOf は「配列の中から、指定した値が最初に現れる位置(インデックス)を返す」検索メソッドです。見つかれば 0 以上の番号、見つからなければ -1 を返します。ここが重...
JavaScript

JavaScript | 配列・オブジェクト:配列の追加・削除 – 空配列にする方法

空配列にするとは何か「空配列にする」とは、配列からすべての要素を取り除いて要素数を 0 にすることです。ここが重要です:やり方によって“参照を保つ(同じ配列オブジェクトのまま空にする)”場合と、“別の...
JavaScript

JavaScript | 配列・オブジェクト:配列の追加・削除 – スプレッド構文での追加

スプレッド構文とは何かスプレッド構文 ... は「配列の“中身”をその場で展開する」書き方です。たとえば ] は と同じ意味になり、, 3] は を作ります。ここが重要です:スプレッドは“非破壊”で新...
スポンサーリンク