創屋ぷれす

Adapter

Adapterとは,
GoFによるデザインパターンの1つです.

既に提供されている機能(プログラム)を,
IFや若干の機能の変更を行い再利用できるようにするデザインパターンになります.
イメージとしては,Wrapperという別名通りで,ラップ(Wrap)するイメージです.

Adapterの中でも「継承」と「委譲」という2つのパターンがあります.
それぞれ,
継承は,提供されている機能のクラスを継承しIF・機能の修正を行っていく
委譲は,提供されている機能のクラスのインスタンス化を持ち(もしくはそのまま関数として呼び出す),内部でそれを利用する
という形です.

メリットとしては,
・既存のものを再利用するので素早く欲しいものを作ることができる
・既存部分の品質は担保されているはずなので,ラップ部分をテストすれば品質を担保しやすい(テスト工数が少なくなる)
などです.

デメリットとしては,
・登場人物が増えるので管理コストが少し増える
・提供されている機能と大きくズレのあるようなラッパーを作ると混乱を生みやすい
といったところです(あまりデメリットらしいデメリットはありません).

おそらくAdapterという名前は知らないけれど,Adapterのようにラッパーを作っているケースは多くあると思います.
特に昨今スピードが要求されるので,既存のものを上手く使うことが重要なので.
自分の書いたコードもAdapterで再利用される可能性も考えて,設計・コーディングすると良いですね.

創屋のホームページはこちらから

Comments are closed.