feb19.jp

Nobuhiro Takahashi
Designer / Engineer

AS3 で GoF デザインパターン [00] - 目次

ActionScript 3.0 で Gang of Four デザインパターン [00] - 目次

以前、ちょっと思い立ってチマチマ「GoF による 23 のデザインパターン」を勉強していました。Evernote にメモしてありましたがメモが増えすぎたのでブログへ吐き出し連投(23回+目次)します。

目的が構造、生成、振る舞いのどれに適用されるかで分類され、さらに適用される範囲がクラスかオブジェクトかで分類されるらしいですが、どれが便利でどれが必修でとか効率よく勉強したいところですが、よく分からないのでしらみつぶしに見ていくことにしてみました。

主にプログラミング本100選にも選ばれた名著「増補改訂版Java言語で学ぶデザインパターン入門」を参考にしながら、AS3 で書くとどうなるかとか、Flash ならでのはの使い道とか、考えながらサンプルコードを書いていこうと思いましたが、Flash ならではで書きすぎると本筋とは違う無駄な実装コードが増えるので、あえて省いて何かのチェックポイントで trace() だけしているものがほとんどです。いくつかは Shape とか BlurFilter とかグラフィックを用いたものもありますが。

Action Script 3.0 デザインパターンの勉強を通して感じたのが「インタフェースを活用してプログラミングする」ということで、オブジェクト指向を活かすプログラミング――抽象化や、カプセル化や、ポリモーフィズムするという事なんだと思います。そのコンセプトを形にしていく上で登場してきた伝統的なテクニックであるという事を感じました。

「このパターンはこういう時に便利」ということで広まったのだと思いますが、構造が大げさ過ぎるとか、オーバーヘッド高過ぎるとか、正直これ何に使うのと思うパターンもあります。オブジェクト指向の考え方を知るために学ぶという感じがいいのかもしれません。


<目次>

01. Iterator パターン <繰り返し処理を行う時のパターン>
02. Adapter パターン <インターフェースの変換を行う時のパターン>
03. Template Method パターン <処理をサブクラスにまかせるパターン>
04. Factory Method パターン <インスタンスの生成をサブクラスにまかせるパターン>
05. Singleton パターン <インスタンスを一つだけ作るパターン>
06. Prototype パターン <コピーされたインスタンスを作るパターン>
07. Builder パターン <複雑なインスタンスを組み立てるパターン>
08. Abstract Factory パターン <関連する部品を組み合わせてインスタンスを作るパターン>
09. Bridge パターン <機能の階層と実装の階層を分けて考えるパターン>
10. Strategy パターン <アルゴリズムを切り替えるパターン>
11. Composite パターン <容器と中身を同一視するパターン>
12. Decorator パターン <飾り枠と中身を同一視するパターン>
13. Visitor パターン <構造を渡り歩きながら仕事をするパターン>
14. Chain of Responsibility パターン <責任をなすりつけあっていくパターン>
15. Facade パターン <窓口をシンプルにするパターン>
16. Mediator パターン <相談役を一人にするパターン>
17. Observer パターン <状態変化を通知するパターン>
18. Memento パターン <状態を保存するパターン>
19. State パターン <状態をクラスとして表すパターン>
20. Flyweight パターン <同じ物を共有して無駄をなくすパターン>
21. Proxy パターン <必要になってから作るパターン>
22. Command パターン <命令をクラスにするパターン>
23. Interpreter パターン <文法規則をクラスで表すパターン>




参考にした書籍、サイト

増補改訂版Java言語で学ぶデザインパターン入門
http://www.hyuki.com/dp/

サルでもわかる 逆引きデザインパターン
http://www.nulab.co.jp/designPatterns/designPatterns1/designPatterns1-1.html

デザインパターン編 トップページ
http://www.geocities.jp/ky_webid/design_pattern/index.html

デザインパターンを読み解く
http://www.happiese.com/system/dpattern.html

Togetter - 「デザパタ140文字」
http://togetter.com/li/15991

ほかいろいろあったと思います。


あとこのシリーズは僕の好きな画家、グリムショーの絵をイメージ絵として使わせていただきました。

Navigation

prev: AS3 で GoF デザインパターン [23] - Interpreter
next: 次世代 Flash Builder (Burrito) プレビュー版を触ってみた

Recently Entries