オブジェクト指向のデザインパターンをSwiftで学ぶ | [書評]Swiftデザインパターン

Swiftデザインパターン
著者: アダム・フリーマン
ISBN:4798142492 / 発売日:2015-10-14
出版社.: 翔泳社

ターゲットユーザは、iOS、Macアプリ開発者

念のために補足しますと、Swiftは、MacやiPhone、iPad、iPod Touchで動作するアプリケーションを開発するためのApple社開発のプログラミング言語です。オープンソース化されてLinuxでも動き始めています。

本書は、名著『オブジェクト指向における再利用のためのデザインパターン』を、Swiftを使って、分かりやすく解説することを意図しています。著者も最初に書いていますが、デザインパターンを使わずに、普通にコーディングした方が良い場合もあります。しかし、プログラムが大きく、かつグループ開発や、他人への継承が絡んでくるとデザインパターンを使用することのメリットが活かされます。

本書の概要

全24個のデザインパターンが解説されています。冒頭の「第1章デザインパターンを理解する」は非常に重要な章です。ここにデザインパターンを使用する意義が書かれています。第2章、第3章は、統合開発環境(IDE)であるXcodeの説明ですので、飛ばしても良いです。本書のサンプルプログラムは、Swiftバージョン1で書かれています。サンプルプログラムは、サイトからダウンロードできます。

私が試した範囲では、現在最新のXcode7.3(Swift 2.2対応)でも、サンプルプログラムのプロジェクトを読み込む際にバージョン差異をXcodeが自動変換してくれるので特に問題はないと思います。すべてのサンプルを試してはいませんので、ご注意ください。ただ、本書の目的は、Swiftのコーディングではなく、デザインパターンにありますので、Swift 1レベルのコーディングを参考にSwift 2や今後のSwift 3での変更点を考慮しながら開発すれば、本書のデザインパターンコーディング例は十分参考になります。

各デザインパターン単位で章が分かれています。非常に読み易い構成になっています。まず、当該デザインパターンの定義をQ&A形式の表で簡単に説明し、これからデザインパターンで解決しようとする問題をソースプログラム付きで解説し、次に当該デザインパターンの概要を、図を含めて詳しく説明しています。そしてソースプログラム付きでデザインパターンを適用したコーディング例と解説があります。また、デザインパターンによっては、使うことの問題点も指摘されています。

私の注目ポイント

もともと知っているデザインパターンもありましたが、知らないものも多く勉強になります。第1章で著者は、デザインパターンの使用を保険に喩え、使用するべきか、使用しないべきか、プログラマに考えることを求めています。もっともだと思いました。何より、本書の構成が素晴らしく読みやすいです。

最後に

第1章でデザインパターンについて著者は次のように書いています。

デザインパターンは、ソフトウェア開発の一般的な問題を識別し、先に述べた個人的な手法ではなく、客観的に表現され、一貫性があり、感情的な問題にとらわれない解決策を提供する。

まさにその通りと思います。

Swiftデザインパターン
著者: アダム・フリーマン
ISBN:4798142492 / 発売日:2015-10-14
出版社.: 翔泳社

あわせて読みたい