今回はBridgeパターンについて書いていきます。
デザインパターンとは
デザインパターンとはソフトウェア開発の設計方法の事です。
『オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターンが紹介されています。
Bridgeパターンとは
Bridgeパターンとはクラスへの機能の追加のパターンです。
このパターンを使うと継承を使わずに既存クラスへ機能追加ができます。
SwiftでのBridgeパターンの実装方法
Bridgeパターンの実装は下のようになります。
Animal
はmove
メソッドを持っていますが、その実装はimp
という変数に委ねています。
こうする事で、機能の追加を継承を使わずに行う事ができます。
class Animal { var imp: MoveImplementation? func move() { imp?.move() } } class Dog: Animal {} class Cat: Animal {} protocol MoveImplementation { func move() } class RunImplementation: MoveImplementation { func move() { print("run") } } class JumpImplementation: MoveImplementation { func move() { print("jump") } } let dog = Dog() dog.imp = RunImplementation() dog.move() let cat = Cat() cat.imp = JumpImplementation() cat.move()
- 作者: エリックガンマ,ラルフジョンソン,リチャードヘルム,ジョンブリシディース,Erich Gamma,Ralph Johnson,Richard Helm,John Vlissides,本位田真一,吉田和樹
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 1999/10
- メディア: 単行本
- 購入: 21人 クリック: 711回
- この商品を含むブログ (210件) を見る