Java

状態遷移図をコードで表現してみる

今回は状態遷移図をコードで表現してみたらどうなるかを書きます。 状態遷移図 お題となる状態遷移図は、以下です。 会員登録サービスにおける入退会のイメージです。 クラス図 これに対応したクラス図は、以下です。 状態遷移図の遷移(矢印)を表現したク…

Lombokが便利すぎて、わろた!!!!

Javaで開発していて、不満はいろいろあるんですが、その不満の大部分を解消してくれるライブラリーがあるので、紹介しちゃいます。 その名もLombokと言われるライブラリー。 ダウンロードしたい方はこちら 個人的にJavaの欠陥と思っている以下内容を楽に解決…

不変クラスはサイコーだ!!!!

不変クラスとは? 簡単に言うと、インスタンスが変更できないクラス。 もっと正確に言うと、インスタンスが生成された時点で、全てのフィールドが固定されているクラス。 Javaから提供されているライブラリーのクラスで不変クラスは以下の通り。 Stringクラ…

ビルダーパターンが便利

ビルダーパターンが便利だったので、まとめちゃいます。 今、自分が担当しているプロジェクトのテストコードで、主要なクラス(ドメイン駆動設計で言うとエンティティクラス)をnewしているコードが複数のテストコードに散らかっていた。 で、主要なクラスに…

staticファクトリーメソッドの長所 その2

前回(staticファクトリーメソッドの長所 その1)に引き続き、今日もstaticファクトリーメソッドの長所を書いちゃいます。 コンストラクタと異なり、メソッドが呼び出されるごとに新たなオブジェクトを生成する必要がない コンストラクタの場合は、メソッド…

staticファクトリーメソッドの長所 その1

通常、対象のクラスをインスタンス化する方法は、publicなコンストラクタを提供する。 その他の提供方法として、今回紹介する「staticファクトリーメソッド」がある。 単純なコード例は以下。(staticファクトリーメソッドは、newInstanceメソッド) public …