デザインパターン・リファクタリング・アーキテクチャに関する参考資料

314 views
Skip to first unread message

Masaki Kagaya

unread,
Apr 12, 2011, 12:14:41 AM4/12/11
to symfony-...@googlegroups.com
加賀谷です。以前の後藤さんとのやりとりで少しデザインパターンの話がでてきたのと、小川さんのように Symfony2 のコア開発に貢献したいという人が増えてきているようなので、翻訳作業の過程で見つけた本とオンライン資料をリストをあげておきます。

とりあえず読んだだけで実践も解説もできないのにこんなこと投稿していいのかなと気が引けていましたが、ジャーナリストの佐々木俊尚さんが Facebook で「佐々木俊尚の震災キュレーション」に触発されました。



## symfony1系のアーキテクチャ

J2EEパターン 第2版
エンタープライズ アプリケーションアーキテクチャパターン

symfony1 系のアーキテクチャに関して firesymfony の作者である Alvaro さんがブログで次の本を参考文献としてあげています。

Symfony Design Patterns


## デザインパターンとリファクタリング

「パターン指向リファクタリング入門」

デザインパターンが取り込まれたコードのリファクタリングのカタログだけでなく、パターン魔、作り込みすぎ・不足などデザインパターンの学習で陥りがちな問題が端的にまとめられています。絶版になりましたが、ラルフジョンソン(GoFの1人)、マーチン・ファウラー、結城浩がまえがきを書いているので、重要な本だと思います。

デザインパターンの入門に関して、「Head Firstデザインパターン」がわかりやすいです。これは初心者が書いたコードからリファクタリングするという方式です。



## GoF のデザインパターンカタログの改訂

Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson

GoF のインタビューによると、カタログの改訂を考えているそうです。草案では Singleton が削除され、Null Object、Type Object、Dependency Injection、Extension Object/Interface が追加されています。

参考文献としてあげられている「Pattern Languages of Program Design 3」の著者の1人であるRobert C. Martin (ボブおじさん)はアジャイルソフトウェア開発宣言のメンバーの1人で次の本で知られています。

Clean Code アジャイルソフトウェア達人の技
アジャイルソフトウェア開発の奥義

Clean Code と似た本としてケントベックの「実装パターン」が

Clean Codeが売れたおかげか、来月に「The Clean Coder」という本が出版されるそうです。



## ドメイン駆動

エリック・エヴァンスのドメイン駆動設計
Domain Driven Design(ドメイン駆動設計) Quickly 日本語版

Doctrine 1系のマニュアルで参考文献としてあげられており、Symfony2 の開発に関わる際の必読書と考えられます。「Domain Driven Design Quickly」は「エリック・エヴァンスのドメイン駆動設計」の要約版です。ユーザー登録すれば pdf をダウンロードできます。

ドメイン駆動設計の一覧はオージス総研のサイトで公開されています。

Domain-Driven Designのエッセンス 第1回 ドメイン駆動設計とは

ドメイン駆動の実際のコードサンプルに関してはJimmy Nilsson の「ドメイン駆動」がわかりやすいそうです。

ドメイン駆動


## トレイトと DCI アーキテクチャ

Doctrine/Propel の開発メンバーは PHP 5.4 で導入されるトレイト対応に向けて準備しているようですが、


トレイトを前提とした設計に関してさまざまな試行錯誤が行われているようです。

DCI アーキテクチャに関して、「エリック・エヴァンスのドメイン駆動設計」の翻訳者の1人である和智右桂氏がTrygveの論文を翻訳しています。Trygve は MVC アーキテクチャの考案者です。

DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien

上記の論文の共著者であるJames O. Coplienは「Lean Architecture」を出版しています。


Scala 版の Dependency Injection は Cake パターンと呼ばれています。

Real-World Scala: Dependency Injection (DI)

Cake パターンは今年の1月に出版された「プログラミングScala」で紹介されています。


英語の原本はオンラインで公開されています。

hidenorigoto

unread,
Jun 2, 2011, 1:46:13 AM6/2/11
to symfony-...@googlegroups.com
加賀谷さん

後藤です


以前MLへ投稿いただいた、参考書籍のまとめですが、もしよろしければMarkdownにしていただいて
ユーザー会サイトのブログ記事として表示できるようにしていただけないでしょうか。

(勉強会の折に、紹介できればと考えています)

Masaki Kagaya

unread,
Jun 3, 2011, 8:20:22 AM6/3/11
to symfony-...@googlegroups.com
加賀谷です。返信が遅くなって申し訳ないです。ブログの記事にするには文章がまとまらないのと、ライブラリを公開したり、カンファレンスでスピーカーをやっている人が紹介している本のほうが、説得力があると思いますので、slideshare.net のスライドで紹介されている書籍のリストアップという記事にします。


Masaki Kagaya

unread,
Jun 3, 2011, 12:29:32 PM6/3/11
to symfony-...@googlegroups.com
加賀谷です。「海外のスライドで紹介された PHP ディベロッパ向けの学習書籍」というタイトルで投稿しました。


Slideshare の埋め込みを試していますが、うまく表示されなければ、あとで修正します。
Reply all
Reply to author
Forward
0 new messages