design

「Interpreter」パターンとは?サンプルを踏まえてわかりやすく解説!【Java】

「Interpreter」パターンとは?サンプルを踏まえてわかりやすく解説!【Java】

 本記事ではGoFのデザインパターンのプログラムの振る舞いに関するパターンの一つである「Interpreter」パターンを解説します。このパターンを一言で説明するならば、「何らかの形式で書かれたファイルの中身を解析・表現し、言語の文法をオブジェクトで表現する方法」と言えるでしょう。「Interpreter」パターンをサンプルを踏まえて解説します。

続きを読む

「Command」パターンとは?サンプルを踏まえてわかりやすく解説!【Java】

「Command」パターンとは?サンプルを踏まえてわかりやすく解説

 本記事ではGoFのデザインパターンのプログラムの振る舞いに関するパターンの一つである「Command」パターンを解説します。このパターンを一言で説明するならば、「一つ一つのコマンドをオブジェクトとして表現し、コマンドの管理を容易にすることが可能」と言えるでしょう。「Command」パターンをサンプルを踏まえて解説します。

続きを読む

「Chain of Responsibility」パターンとは?サンプルを踏まえてわかりやすく解説!【Java】

Chain of Responsibility

 本記事ではGoFのデザインパターンのプログラムの振る舞いに関するパターンの一つである「Chain of Responsibility」パターンを解説します。このパターンを一言で説明するならば、「複数のオブジェクトに自身のオブジェクト持つことで、鎖のように連結されたオブジェクトを渡り歩くことで、目的のオブジェクトを参照する方法」と言えるでしょう。「Chain of Responsibility」パターンをサンプルを踏まえて解説します。

続きを読む

「Proxy」パターンとは?サンプルを踏まえてわかりやすく解説!【Java】

Proxyパターンとは?サンプルを踏まえてわかりやすく解説

 本記事ではGoFのデザインパターンのプログラムの構造に関するパターンの一つである「Proxy」パターンを解説します。このパターンを一言で説明するならば、「代理人オブジェクトを立てて、本人でもなくてもできる処理を代理人オブジェクトが引き受け、本人にしかできない処理を本人のオブジェクトが実行する方法」と言えるでしょう。「Proxy」パターンをサンプルを踏まえて解説します。

続きを読む

「Flyweight」パターンとは?サンプルを踏まえてわかりやすく解説!【Java】

「Flyweight」パターンとは?サンプルを踏まえてわかりやすく解説

 本記事ではGoFのデザインパターンのプログラムの構造に関するパターンの一つである「Flyweight」パターンを解説します。このパターンを一言で説明するならば、「1つのオブジェクトを再利用することで計算資源を節約する方法」と言えるでしょう。「Flyweight」パターンをサンプルを踏まえて解説します。

続きを読む

「Facade」パターンとは?サンプルを踏まえてわかりやすく解説!【Java】

facadeパターン

 本記事ではGoFのデザインパターンのプログラムの構造に関するパターンの一つである「Facade」パターンを解説します。このパターンを一言で説明するならば、「複数のクラス組み合わせて使う手順を、まとめる(窓口)クラスを作ってシンプルに利用できる方法」と言えるでしょう。「Facade」パターンを利用しない場合と、利用する場合の両方の例を挙げてわかりやすく解説します。

続きを読む

「Decorator」パターンとは?サンプルを踏まえてわかりやすく解説!【Java】

「Decorator」パターンとは?サンプルを踏まえてわかりやすく解説!

 本記事ではGoFのデザインパターンのプログラムの構造に関するパターンの一つである「Decorator」パターンを解説します。このパターンを一言で説明するならば、「元となるオブジェクトに装飾(デコレート)を行うことで機能を拡張させる方法」と言えるでしょう。「Decorator」パターンを利用しない場合と、利用する場合の両方の例を挙げてわかりやすく解説します。

続きを読む

「Composite」パターンとは?サンプルを踏まえてわかりやすく解説!【Java】

composite

 本記事ではGoFのデザインパターンのプログラムの構造に関するパターンの一つである「Composite」パターンを解説します。このパターンを一言で説明するならば、「入れ物のクラスと中身のクラスを、1つの抽象クラスでまとめて、それぞれのクラスから得られるオブジェクトを同一視できるようにする」と言えるでしょう。文章では想像がつきにくいと思いますので、例を踏まえながら解説していきます。

続きを読む