- 本 ・本 (392ページ)
- / ISBN・EAN: 9784797353402
感想・レビュー・書評
-
【書誌情報】
『Javaフレームワーク開発入門』
著者:木村 聡
[https://satoshi-kimura.hatenablog.com/]
定価:3,520円(本体3,200円+10%税)
発売日:2010年7月28日(水)
ISBN:978-4-7973-5340-2
サイズ:B5変/1色
ページ数:392
◆メタプログラミング、デザインパターン、DI×AOPなど、アーキテクトが必ず知っておきたいフレームワーク技術を、ていねいに解説。
アプリケーション開発の生産性はフレームワークが握っていると言っても過言ではありません。また、フレームワークを利用される環境に最適化することで、アプリケーション開発の生産性はさらに向上するとも換言できます。
本書では、フレームワークを作成するための基礎的な技術について、 サンプルコードを豊富に使いながら説明しています。この技術が身につけば、既存のフレームワークを状況に応じてカスタマイズすることも容易になります。
とくに近年、クラウドやiPhoneに代表されるスマートフォンなどの登場により、プログラマーを取り巻く環境に大きな変化がありました。 そのような変化に伴い、新たなフレームワークも登場しますまた、特殊な要件を持ったアプリケーション開発を行う場合も出てきます。
フレームワークを作成する技術を身につけておくことで、そうした状況に応じた開発に対応できるようになります。フレームワークを作成するには、オブジェクト指向技術以外にもさまざまな技術要素が必要になります。
たとえば、次のようなものがあげられます。
・デザインパターン
・メタプログラミング
・アスペクト指向
本書では、フレームワークを作成するうえで重要な上記のような技術要素に焦点を当てて取り上げています。
ひがやすを(比嘉康雄[https://higayasuo.hatenablog.com/])さんから、「この本は、アーキテクトを目指している人にとっての『はじめの一歩』にちょうどよい」という言葉を推薦文にいただきました。
アーキテクトとは、システムアーキテクチャを統括する個人、 あるいは組織のことで、システムの中でなにがプログラムとして共通化できるのかという知識と経験を持ち、具体的な仕組みを考えられるスキルが要求されます。
本書で説明しているようなフレームワークを支える技術に精通していることが、 アーキテクトの前提となります。本書は、アーキテクトとしての礎(いしずえ)を築くためのお役に立てると思います。
本書を読み終えた方は、フレームワーク作成に関する技術が身につき、 オブジェクト指向のメリットについても理解が深まります。
また、サンプルには便宜上Javaを利用していますが、言語に限らず、 いつの時代にも通用する、オブジェクト指向開発の本質的な「考え方」が身につきます。
[https://www.sbcr.jp/product/4797353402/]
【目次】
■1章 フレームワークとは
1-1 ●ライブラリとは
1-2 ●モジュールとは
1-3 ●コンポーネントとは
1-4 ●フレームワークとは
1-5 ●プロジェクトスタート
1-6 ●まとめ
■2章 メタプログラミングを学ぶ
2-1 ●リフレクションとは
2-2 ●文字列からインスタンスを生成する
2-3 ●Classクラス
2-4 ●Methodクラス
2-5 ●Fieldクラス
2-6 ●Constructorクラス
2-7 ●Arrayクラス
2-8 ●Modifierクラス
2-9 ●Annotationインターフェース
2-10 ●Proxy
2-11 ●プリミティブ型を扱う
2-12 ●JavaBeansについて
2-13 ●例外の扱い
2-14 ●親クラスへのウォーク
2-15 ●留意点
2-16 ●会話
2-17 ●まとめ
■3章 デザインパターンを学ぶ
3-1 ●デザインパターンとは
3-2 ●フレームワーク開発によく使用するパターン
3-3 ●会話
3-4 ●まとめ
■4章 DI×AOPを学ぶ
4-1 ●AOPとは
4-2 ●DIとは
4-3 ●会話
4-4 ●まとめ
■5章 実習編
5-1 ●要件リスト
5-2 ●高度1万メートルから近づいて見るStruts
5-3 ●アクセスログログを取れるようにする
5-4 ●例外が出たら担当者にメールを送信するようにする
5-5 ●日本語のバリデーションを行うライブラリを作る
5-6 ●DIコンテナを組み込む
5-7 ●クラス名が規約に沿っているかどうかをチェックするインターセプタを作る
5-8 ●認証済みかを判断するインターセプタを作る
5-9 ●会話
5-10 ●まとめ
■6章 フレームワーク作成時に考慮すべき点
6-1 ●APIの外部設計
6-2 ●横断的関心事/非機能要件
6-3 ●オブジェクト指向設計の原則について
6-4 ●モジュール分割について
6-5 ●フレームワークの互換性について
6-6 ●会話
6-7 ●まとめ
■付録詳細をみるコメント0件をすべて表示 -
フレームワーク「で」開発、じゃなくてフレームワーク「を」開発する話。
前半はJavaフレームワークを作るのに基礎となるようなリフレクションとかの話、後半はStrutsを改造する話かな。
まあ今からわざわざ新しいフレームワークを作る必要性も薄いと思うけど、
後半のStruts改造話はなかなか面白い。「ここをこうするとこんなことができる」と
いうことを知っておくのはよさそう。 -
自分のまわりでは、ここに書いてあることを知らないままでフレームワークを使った開発をしている人の方が多いように思うなぁ。
-
読了。
今さらなんですが原点回帰で。そもそもフレームワークはどうあるべきか、をおさらいする目的で読みました。
本書はフレームワーク開発について書かれた貴重な良書ですね。java、struts中心で書かれていますが、エッセンスはどの言語でも同じ。エッセンスだけでよければ、PGできる人なら1日あれば読めると思います。
以下メモ。
・結局はバランス。原則もCoCも。
・迷ったら原則へ。(本書は常に手元に。)
・テスティングとCI領域のフレームワーク整備が現場では急務かも。結局、必要性は周知の事実だが、技術者不足と費用対効果で採用されないわけで。業務ロジックのコーディング+αくらいで勝手にテストコードができて、意識無くてもCIが回ったら、現場の開発スタイルは一気に変わると思う。どうやって具現化するんだって話ですが。 -
”フレームワークを開発するための”技術セットの紹介本。利用方法ではないというところが特徴。
んー。Struts自体さえ理解がおぼつかない中で、AOPやDIの実装を見てもなかなか実感が湧かないのが正直なところ。よく読み込めば何をしているかわかるけど、こういった抽象的な設計というか、拡張を前提とした設計の考え方がまだまだ頭に沁み込んでいない。
たぶん環境構築して実際に触ってみるのが一番早いのだろう。
今までずっと.Net畑でやってきてここ最近Javaを勉強し始めたけど、AOPとかDIとかアプリケーションの堅牢性を担保しようという話にすぐ対面するのがJavaの文化的な特徴のような気がしている。単に.Netで不勉強だっただけか、はたまた誤解をしているだけか、もう少し勉強していくとその辺の違いも理解できてくるのだろう。 -
読んで字の通り、フレームワーク開発をするときに役立つ本だとは思います。
実習編はそのまま役に立てるような内容もあるかと思います。
DI、AOPなどを勉強するというだけでも触りになる本ではあると思います。
制御の反転、設定の規約、単一責任の原則、オープンクローズドの原則依存関係逆転の原則などオブジェクト指向の考え方も学べます。 -
プログラマーとして上を目指すのであれば、読んどいた方が良い一冊です。
メタプログラミングやデザインパターンの初歩が書かれてあり、Springとかのフレームワークからアスペクト指向まで書かれてあります。
初歩的な内容ですが、次のステップへと進む人には良書です。 -
回り道だけど、まずはこれを読んでおさらいしておいた。フレームワーク開発の観点からDI・AOPの使い途を論じている本はこれくらいしかないはず。
-
オブジェクト指向への理解がさらに深まった。
もう少し技術がついてから読み直したい。
著者プロフィール
木村聡の作品





