しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Swiftで学ぶデザインパターン16 (Proxyパターン)

今回はProxyパターンについて書いていきます。

デザインパターンとは

デザインパターンとはソフトウェア開発の設計方法の事です。
オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターンが紹介されています。

Proxyパターンとは

Proxyパターンとは処理を差し込むデザインパターンです。
SQLでデータベース操作する際にログを埋め込みたい、それをSQLを発行するライブラリを操作せずに実現したい時等に使います。

SwiftでのProxyパターンの実装方法

残念ながらこれはSwiftでは実現できませんでした。
ProxyパターンはProxyクラスを作り、特定のインスタンスの代わりにProxyクラスのインスタンスを差し込む事で実現します。
しかしSwiftでは強引なキャストができない為Proxyクラスのインスタンスの差し込みができません。
Objective-cはその辺りが緩いのでできたのですが、Swiftでは少し厳しくなってしまっていました。

// これができない為Swiftでは不可能
let obj: MyClass = ProxyClass() as! MyClass

オブジェクト指向における再利用のためのデザインパターン

オブジェクト指向における再利用のためのデザインパターン