プログラミング

java

JavaでのCompositeパターンの実装方法と使用例

Compositeパターンは、入れ物のクラスと中身のクラスを1つの抽象クラスでまとめ、同一視できるようにするパターンです。 このパターンを取り入れることで、クラスを使う側から見て入れ物のクラスなのか中身のクラスなのかを意識する必要がなくなり...
java

JavaでのBridgeパターンの実装方法と使用例

Bridgeパターンは、機能のクラス階層と実装(処理の中身)のクラス階層を橋渡しするパターンです。 機能のクラス階層と実装のクラス階層を分けることで、実装毎に機能を書かなくて良くなりますし、その逆に機能毎に実装を書かなくて良くなります。 結...
java

JavaでのBuilderパターンの実装方法と使用例

Builderパターンは、処理内容を定義するBuilderクラスと、処理順番を定義するDirectorクラスの2つに分けることで、柔軟に処理を変更できるようにするパターンです。 Builderクラスの定義により処理内容が変わっても都度処理内...
java

Javaでオブジェクトをコピーする方法:cloneメソッドの使い方

参照型変数(主に、自分で作成したクラスのオブジェクト)をコピーする場合、単純に「=」で代入するだけでは不十分な場合があります。 参照型変数の中身は参照先(オブジェクトのメモリ領域を示すポインタ)です。 「=」で代入するだけでは、参照先だけが...
java

JavaのEnumでコード値に意味を持たせ可読性を向上

javaのEnum(列挙型)を使用するメリットとしては、一般的に「使用可能な定数を明確化できる」「定数を複数のクラスで使い回せる」といったメリットが挙げられます。 実際に使用していて、コード値に意味を持たせられるというメリットもありそうだっ...