【パターンの目次】を読む ーあるいは再読のためのリファレンスー

投稿者: | 2011/03/05

さて、一向に本編に入らないこの企画ですが、
今回もまだ本編じゃありません。 *01いいかげん自分でも焦れてきましたが。

iOS開発におけるパターンによるオートマティズム
木下 誠
ビー・エヌ・エヌ新社

で、今回読む章は… *02冒頭、もうちょっとスマートなテンプレートを作りたいなー。

【パターンの目次】

この「パターンの目次」ですが、
いわゆる「リファレンス」になっています。 *03日本語的に表すなら「参照目録」でしょうか?

この本の中で出てくる様々な「パターン」について、
ある程度のグループ分けと共にリストされています。

何度も読み返されることを前提に

これ、最初に見ても、さっぱりピンときません。

ユーザーインタフェース設計のパターン[1]  37
ツールバーのパターン

ユーザーインタフェース設計のパターン[2]  38
タブバーのパターン

こんな感じの箇条書きが、ずらーっと75個、
4ページに渡って書いてあります。
「ああ、この本ではこれだけの『パターン』が取上げられているんだな」
以上の意味は、最初の段階では見出せないでしょう。

しかも、ちゃんとした「目次」はその前にあったのですから。 *04これはあくまで「パターンの目次」で、ちゃんとした目次はこの前にあります。

では、何故この「パターンの目次」があるのか?
それは、読み返すときに役立つからだと考えます。

メインの「目次」は本の内容展開を元に書かれています。
それは、この本を順に読んでいく時のロードマップとして機能するでしょう。

一方、この「パターンの目次」は、リストとして書かれています。
それは、この本を読み返す時のマーカーとして機能します。

技術系の書籍は、基本的に何回も読み返されます。
「たしか、こんなパターンあったな…」
と言う読者の薄ぼんやりした記憶を元に。

そのとき、この「パターンの目次」が役立つわけです。

【おまけ】ちょっとした不満点

この「パターンの目次」私には、ちょっと見づらいです。

75個の小パターンが箇条書きにしてあり、
それらは、更に19のまとまりになっているようなのですが、
段分けをしてあるわけでもなく、ただ並べてあるだけなのです。

せっかく19のグループ見出しがあるのですから、
グループごとにまとめてくれると嬉しかったところです。 *05一応、まとめてはくれているのですが、小パターンのひとつずつにグループ見出しが付いていて、メリハリに欠ける。

具体的には、こんな感じにして欲しい。

【パターンの目次】-あおのうまアレンジ-

ユーザーインタフェースのパターン
 [ 1]ツールバー
 [ 2]タブバー
 [ 3]モーダルビュー
 [ 4]ナビゲーションアイテムのボタン

クラス設計のパターン
 [ 1]MVC
 [ 2]クラス命名
 [ 3]コントローラクラス設計
 [ 4]アプリコントローラ設計

アプリコントローラのパターン
 [ 1]アプリコントローラの宣言
 [ 2]アプリコントローラを取得するメソッド
 [ 3]アプリコントローラ初期化

モデルオブジェクトのパターン
 [ 1]モデル情報保持
 [ 2]モデルオブジェクト初期化
 [ 3]モデル情報のためのプロパティ
 [ 4]モデルオブジェクトの永続化
 [ 5]モデルオブジェクトの解放

モデルマネージャのパターン
 [ 1]モデルマネージャの初期化
 [ 2]モデルオブジェクト管理
 [ 3]モデルオブジェクト操作
 [ 4]モデルオブジェクトの保存と読み込み

Core Data モデリングのパターン
 [ 1]属性のモデリング
 [ 2]関連のモデリング
 [ 3]エンティティを表すクラス作成

Core Data マネージャのパターン
 [ 1]管理対象オブジェクトコンテキスト作成
 [ 2]Core Data マネージャ初期化
 [ 3]管理対象オブジェクト作成
 [ 4]管理対象オブジェクト取得
 [ 5]管理対象オブジェクトの保存

メモリ管理のパターン
 [ 1]インスタンス変数保持
 [ 2]setterメソッド
 [ 3]オブジェクト解放
 [ 4]オブジェクト破棄

ビューコントローラのパターン
 [ 1]ビューコントローラ初期化
 [ 2]ビュー作成
 [ 3]強制的なビュー読み込み
 [ 4]ビューの解放とビューコントローラ破棄
 [ 5]ナビゲーションコントローラへの追加
 [ 6]モーダルビューとして表示する
 [ 7]ビューの手動配置
 [ 8]ナビゲーションアイテム更新
 [ 9]編集ボタンと editing プロパティ
 [10]キャンセルと保存
 [11]ツールバー更新

セルのパターン
 [ 1]サブビュー作成
 [ 2]アクセッサメソッド
 [ 3]サブビューのレイアウト
 [ 4]セルのハイライト⁄選択

データソースのパターン
 [ 1]データソースとしてのモデルマネージャ

セルの表示更新のパターン
 [ 1]セルの表示更新のためのメソッド
 [ 2]viewWillAppear:でのセルの表示更新

テーブル編集のパターン
 [ 1]テーブルの編集モード
 [ 2]テーブルの削除
 [ 3]テーブルの並べ替え

デリゲートによる通知のパターン
 [ 1]デリゲートメソッド宣言
 [ 2]デリゲートオブジェクト宣言
 [ 3]デリゲートメソッド呼び出し

キー値監視による通知のパターン
 [ 1]キー値監視登録
 [ 2]キー値監視登録解除
 [ 3]キー値監視通知
 [ 4]キー値監視受信

NSNotification による通知のパターン
 [ 1]NSNotification登録
 [ 2]NSNotification解除
 [ 3]NSNotification通知

レスポンスパーサのパターン
 [ 1]レスポンスパーサの宣言
 [ 2]ネットワークアクセス状態変数
 [ 3]レスポンスパーサのデリゲート
 [ 4]非同期通信のため
 [ 5]通信のキャンセル
 [ 6]同期通信のための宣言
 [ 7]同期通信のための実装

XMLパースのパターン
 [ 1]XMLパーサのデリゲート
 [ 2]RSSデータパース

コネクタのパターン
 [ 1]コネクタ初期化
 [ 2]ネットワーク操作メソッド
 [ 3]アクセス状態通知

以上。

いちいちグループとなるパターン名を付けなくて良いんじゃないかな。
最初にグループとなるパターン名だけ。
んで、小パターンも「〜のパターン」はくどいので取っちゃう。

本当はこれにページ番号が入るのですが、
上手いことインデントを設定する余裕が無かったので、省略。

今度、HTMLテーブルを使って書きなおしたいところです。
自分で使えそうなので。


脚注

脚注
01 いいかげん自分でも焦れてきましたが。
02 冒頭、もうちょっとスマートなテンプレートを作りたいなー。
03 日本語的に表すなら「参照目録」でしょうか?
04 これはあくまで「パターンの目次」で、ちゃんとした目次はこの前にあります。
05 一応、まとめてはくれているのですが、小パターンのひとつずつにグループ見出しが付いていて、メリハリに欠ける。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください