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?

分離して橋渡し!Bridgeパターン

Posted at

はじめに

こんにちは!今回はデザインパターンの一つであるBridgeパターンについて学んだことをまとめたいと思います。

Bridgeパターン

Bridgeパターンは抽象部分、実装部分というように二つの部分に分離させるパターンです。

例えばレポートの内容(人、お金、仕事など...10種類)、そのレポートの対象期間(年ごと、月ごと、日ごと)をそれぞれ組み合わせたレポートを作成するプログラムを作る必要があるとします。

何も考えずに総当たりでそれぞれのレポートのクラスを作ることはできます。しかし10×3という多大な数のクラスを用意する必要がでてきてしまうでしょう。さらにレポートの内容の種類が追加されるたびにそれに対応する対象期間の3クラスずつ増やす必要がでてきます。

そういうときに活躍するのがBridgeパターンです!
ここでいうレポートの内容を表すクラス群と、対象期間を表すクラス群とを分離することで数の爆発を防ぐことができます。具体的には10+3=13クラスとなります。Bridgeパターンを使わない場合の30クラスと比較すると大きな違いですね!
またレポートの内容の種類が増えた際も上の例のように3クラス増えるのではなく独立しているためレポートの種類を表す1つのクラスを増やすだけでよくなります。

上の例を踏まえるとBridgeパターンを適用するメリットは

  • 組み合わせによってクラス数が膨大になることの防止
  • 拡張性の向上

が挙げられます。

設計

2024-11-29_21h40_25.png
レポートの種類は省略していますが単純ですね

おわりに

最近はテスト実施を行うことが多いため、コードに触れたく思い出しがてらまとめてみました。
学んだ当初は経験が少なく思いませんでしたが他のデザインパターンもそうですが自然とパターンを使ってることって多いですよね。

どのような工程の中でも学べることを積極的に学んでいきます!お読みいただきありがとうございました!

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?