WEB系プログラミング(主にPHPとJava)でデザインパターンを勉強する際に参考となったサイトまとめ。
昨今のオブジェクト指向プログラミングの盛り上がりに触れて、オブジェクト指向で書かねばならないという半ば脅迫状態で開発をするわけですけれど、出来上がった自分のコードは「それオブジェクト指向で書く必要あるの?」という事態になっています。
拡張性の「か」の字もあったもんじゃありません。開発期間が短ければ短いほど、この現象は起こります。とりあえず納品が先だ。拡張性?なんだそれ状態です。わたしにしか分からない実装がそこにはあります。わたしにもわからない実装がそこにあります。
改修時に必要以上の工数が必要になることでしょう。恐ろしいですね。
それぞれのデザインパターンの存在を手始めとしてロジックやデザインパターンに当てはめることによるメリットなんかを理解することができた先には、オブジェクト指向「っぽい」ものではないコードが書けている自分がいるのではないかと思うのです。
だからわたしはデザインパターンを学びます。
ということで、参考にしているコンテンツのご紹介です。
デザインパターンが学べる初心者でもわかりやすいサイト
ベテランとあなたの会話形式で分かりやすくデザインパターンが学べる
TECHSCORE(テックスコア)さんのデザインパターン解説コンテンツ
デザインパターン TECHSCORE(テックスコア)
言語:Java
GoFの23個のデザインパターンについて、Java言語を用いてめちゃくちゃわかりやすく、実例を用いてコード付きで説明してくれています。
サンプルコードと一緒に「ベテラン」「あなた」の会話形式でつまづきそうなポイントの解説や、「あなた」が、デザインパターンを考慮せずに行った実装でどんな問題が起こるのか、デザインパターンに当てはめることでどんなメリットがあるのかが学べます。
解説が多く、文字数も多いですが、非常に理解しやすく素晴らしいコンテンツです。
テックスコアさんのサイトコンセプトそのままに、デザインパターンを楽しみながら学ることと思います。
TECHSCORE(テックスコア)とは「TECHNOLOGY+SCORE」つまり「技術の楽譜」と言う意味です。
楽譜の読み方が理解できるようになれば、より深く音楽を楽しめるのと同じように、IT関連の技術もちょっとずつ理解できればより楽しいものとなるでしょう。
PHPでデザインパターンを学ぶなら「Do You PHP はてな」
絶版となった「PHPによるデザインパターン入門」(ISBN4-7980-1516-4)の著者である下岡 秀幸さんによるコンテンツ。
PHPによるデザインパターン入門 Do You PHP はてな
言語:PHP
「PHPによるデザインパターン入門」(ISBN4-7980-1516-4)は、PHPで開発をするエンジニアに現在も絶版を惜しまれる非常に貴重な技術書です。
その、校正完了間際の原稿が全て記事化されており、校了後のつまりは販売されていた本そのままとはいかずとも、ほぼそのままの内容を読むことができます。
デザインパターンを学ぶ際、そのほとんどがJavaやC++で書かれており、PHPに触れる機会の多いエンジニアにとって、現場での利用に最短で落とし込むためには、PHP言語で書かれたデザインパターンの方が理解がしやすいのではないかと思います。
GoFのデザインパターン23個全て網羅しており、PHPでデザインパターンを網羅的に学ぶことができ、かつ日本人による執筆で理解しやすい、数少ない貴重なコンテンツです。
最新のPHP事情を踏まえたPHPによるデザインパターンを学ぶ
PHPのPHP The Right WayのPHPによるデザインパターン
デザインパターン PHP The Right Way
言語:PHP
「PHP The Right Way」はPHPの仕様やテクニックついて非常に学びの多いサイト。PHPで開発をするための環境構築から基礎、どんなコーディング規約を使ったらいいかなど、基本的なところから様々なチュートリアルについても進歩の早いPHPについての最新の情報が掲載されているため、大変勉強になるサイトであります。
その中にPHPによるデザインパターンについてのコンテンツがあります。
解説されているパターンは
GoFのパターン3つ
Factory Methodパターン(ファクトリー)
Singletonパターン(シングルトン)
Strategyパターン(ストラテジー)
これに加えて、J2EE(Core J2EE Patterns)のパターン
Front Controller(フロントコントローラー)
Model View Controller(モデルビューコントローラー)
が紹介されています。
もともとは英語サイトであり、各言語に翻訳されるほどの素晴らしいサイトですが、学ぶ際の難点としては、英語で書かれたものが翻訳されているため、イメージしにくいという点があります。翻訳された技術書でも同じことがあるのでこれは慣れる他なさそうです。
ITのを深く知りたいと思えば思うほど、英語はとても大切だなと思います。
J2EEのデザインパターンの概念については入り口として下記が参考になりました。
番外編 おもしろい表現でデザインパターンを学ぼうという決心を得られたコンテンツ
FlashのActionScript3に特化した内容となっていますが、「デザインパターンを勉強してみようかな・・・でも難しそう」と思い悩んでいる時に拝見して、ああ、なんかやってみよう。と思えたサイトです。
しっぽ流デザインパターン講座(F-site講演資料)
講演時に利用された資料のようで、これだけを見て技術的な何かを得るようなものではないのですが、デザインパターンって難しいよね、3つくらい覚えたらいいんじゃない?とかわいいイラストとともに解説されています。
しかし、デザインパターンって難しいけど面白い!
参考になれば幸いです。
コメントを残す