Javaの格言―より良いオブジェクト設計のためのパターンと定石

Javaの格言―より良いオブジェクト設計のためのパターンと定石


Javaの格言―より良いオブジェクト設計のためのパターンと定石 Javaの格言―より良いオブジェクト設計のためのパターンと定石
ピアソンエデュケーション ピアソンエデュケーション Nigel Warren
¥ 2,520


   本書は、Javaプログラミングの定石を知ることで、オブジェクト指向設計を学ぶことできる本である。ライブラリを調べたり、過去に作ったクラスを再利用したりすることができるプログラミングスタイルのJavaにおいては、クラスの設計はとても重要である。ここの設計をいい加減にしてしまうと、再利用しにくいクラスを作ってしまったり、不要な継承により、複雑な依存関係を作ってしまい、親のクラスの仕様変更ができなくなってしまったりすることがある。

   オブジェクト指向を否定する意見には、現実の開発者にこの段階での設計力がないために、再利用をするクラスの設計など不可能であるという意見がある。しかし、すぐれた設計者の設計思想を知り、自分のものにすることで、より安全性が高く適切な制約を持ったクラス設計ができるようになる。そのための定石が記述されているのが本書である。カプセル化、継承、ポリモルフィズムというオブジェクト指向の基本から始まり、オブジェクトの生成、コレクション、イテレータなどの効率の良いプログラムを作るための設計原則までが解説されている。各原則は、詳しいサンプルプログラムとその説明、わかりやすいクラス図で解説されている。

   本書は、Java言語は理解したが、オブジェクト指向設計という段階で、いまいちピンとこないと思っている人におすすめの1冊である。特に、Javaの持つ能力を自在に操りたいという目的意識のある人には最適であろう。(川藤一真)


Javaの鉄則―エキスパートのプログラミングテクニック
Effective Java プログラミング言語ガイド
Java謎+落とし穴徹底解明 (標準プログラマーズライブラリ)
ソースコードリーディングから学ぶ Javaの設計と実装
増補改訂版Java言語で学ぶデザインパターン入門

■Java関連の本では一押しです 評価5 日付2005-08-20
仕事の立場上、何人ものJavaエンジニアと言われる人のコードを見る機会があります。確かに動いてはいますがオブジェクト指向に基づくプログラム設計になっていないものがかなり見受けられます。
特にC言語をやっていた人は(私もそうですが)Javaの勉強をそれ程しなくてもそれらしいものは書けてしまいます。またそれでJavaを書けると思い込んでいる人も多いのではないでしょうか?・・それではあまりにも勿体無い、と思わざるを得ません。
本書はJavaが本来持っている(オブジェクト指向に基づく)言語仕様を丁寧に解説してあります。オブジェクト指向という抽象的な考え方を実際のコードを通して具体的な形で捉えることができます。
ちなみに、コードを書く具体的なノウハウという点では「Javaの鉄則」もよろしいかと思います。対してこちらの「格言」はアーキテクチャ設計、プログラム設計を行うという視点が強いように感じます。
一度読んだだけでは難しいと感じるかもしれませんがJavaに携わる人には是非お勧めしたい本です。

■Javaの基礎から応用まで詰まっています 評価5 日付2004-07-21
オブジェクト指向の話に始まって、例外やローダー、イディオムなど様々なことが書いてあります。
Java固有の実装や仕様も所々書かれており、オブジェクト指向などがわかっている人でも最初から通して読むことをお勧めします。
内容は難しくないですがUMLやデザインパターンの話も少し出てくるため、Java覚えたての人にとっては読むのが大変かもしれません。

その時はまず付録や1章から3章までのオブジェクト指向について書かれた章を重点的に読むなど、読み方を工夫するとよいでしょう。
そのかわりC++経験者など、基礎ができている人はJavaを知らなくてもいきなり読めます。
C++とJavaの違いが本書を読むことで手にとるようにわかると思います。

本書はかなりの良書で、1度は読んだ方がよいでしょう。

あえて欠点をあげるとすれば「リフレクション」が載っていないことくらいです。
SE、プログラマー問わずお勧めの一冊です。


■何度も読みたい本 評価5 日付2004-01-02
今回で本書を読むのは2回目。オブジェクト設計をある程度理解できていないと難しい部分もあるが、より良い設計を目指す人には是非読んでいただきたいと思う。私自身にとっても何度も読み直したいと思うバイブル的書籍である。
■深い。。。何度読んでも深い。。 評価5 日付2003-08-09
タイトルのごとく!

 私は新人の時に会社の先輩に薦められて購入しました。当時は全く理解できず、2年近く寝かせていました。去年あたりからJavaも理解できるようになり、ふと手にとって読み返したのですが、自分がなぜもっと早くこの本をしっかりと読まなかったのか、後悔しました。発売当初は継承が美学とされていた時代ですが、この本はすでにInterfaceの利用方法、ダブルディスパッチ、カプセル化そしてJavaでのSingletonの実装方法などが丁寧に書かれていました。
 今でも何度も読み返しております。値段も手頃で私のバイブルとなっております。Javaの文法とオブジェクト指向は理解し、現場でもコードは書けるようになったが、なんかまだ足りない。。と感じた人にぴったりと思います。第二版、出版されな!いかなぁ。。。


■Effective Javaの元ネタか? 評価4 日付2003-01-14
少なくとも、この本が目に止まるような人は
ほぼ間違いなく、数回は読んだであろう「Effective java」。

この本は、内容的にEffective Javaにかなり似ていると私は思う。
とくに最初のほうとかはそっくり。

発行されたのはこちらのほうが先
(この本は1999年、Effective Javaは2001年)なので、
きっとJoshaはこの本を参考にしたに違いない。と言ってみる。

まあ、似ている似ていないは実際どうでもよくて、
内容的には、1999年の時点(まだJDK1.1か?)で
よくもまあここまでJavaが解っていたものだと
感心されられる。

結局、こういう類の本の知識ってのは、決して色褪せることがないんだな、
と思いました。

「Effective Java万歳!」な方は、一読されてみては?


⇒ もっと詳しく調べる
入門書
パソコン入門書
Macintosh入門書
アプリケーション入門書
データベース入門書
インターネット入門書
ホームページ入門書
プログラミング入門書
ネットワーク入門書
Windows入門書
コンピュータ用語集・参考書
コンピュータサイエンス
情報学・情報科学全般
アルゴリズム
人工知能
暗号理論
ロボット工学
計算機
システム管理・監査
データベース処理
セキュリティー管理
ソフトウェア開発
ハードウェア・周辺機器
パソコン
Macintosh
モバイル・iモード
デジタルカメラ
CD-R・DVD-R
周辺機器
OS
Windows入門書
Windows98
WindowsXP
Windows2000
Linux
Unix
MS-DOS
MacOS
FreeBSD
ネットワーク
ネットワーク入門書
TCP・IP
Ethernet
LAN
Routers・ルータ
ネットワーク参考図書
インターネット・Web開発
インターネット入門書
ブラウザ
e-ビジネス
通信・メール
Web開発
セキュリティー管理
ネット社会
IT・e-コマース
ビジネスとIT
ネットビジネス
情報・コンピュータ産業
情報社会
e-コマース
プログラミング
プログラミング入門書
Basic言語
Visual Basic
C言語
C++言語
Delphi
JAVA言語
LISP
Perl
Ruby
アプリケーション
ワープロソフト
一太郎
Microsoft Word
表計算ソフト
Microsoft Excel
Lotus 1-2-3
プレゼンテーションソフト
PowerPoint
データベース
データベース一般・入門書
FileMaker
dBASE
DB2
Microsoft Access
Oracle
SQL総合
SQL入門書
Microsoft SQL Server
PostgreSQL
MySQL
ブラウザ
Internet Explorer
Netscape
通信・メール
Microsoft Outlook
Netscape Communicator
グラフィックス
Photoshop
Illustrator
Dreamweaver
Flash
Fireworks
Shade
LightWave
AutoCAD
3D STUDIO MAX
GoLive
Photoshop Elements
DTP
DTP全般
QuarkXpress
PageMaker
InDesign
LATEX
DTM
ソフトウェア開発
デザイン・グラフィックス
Webデザイン
グラフィックス
DTPソフト
3D グラフィックス
コンピュータアート
Adobe
Macromedia
デジタルエンターテイメント
ロボット
音楽
ゲーム
コンピュータ・情報処理・各種試験対策
コンピュータ・情報処理一般
システムアナリスト
プロジェクトマネージャ
アプリケーションエンジニア
ソフトウェア開発技術者
テクニカルエンジニア(ネットワーク)
テクニカルエンジニア(データベース)
テクニカルエンジニア(システム管理)
テクニカルエンジニア(エンベデッドシステム)
情報セキュリティアドミニストレータ
上級システムアドミニストレータ
初級システムアドミニストレータ
システム監査
基本情報技術者
Microsoft Office Specialist
Oracle Master
インターネット検定
CAD利用技術者
白書・用語辞典・参考書
商品 検索リンク
本・書籍
音楽CD
DVD・ビデオ
ゲーム
パソコン・家電
ソフトウェア
家庭用品・キッチン用品
おもちゃ・ホビー
英語学習の教材
パソコン本
ゲーム攻略本
ビジネス・経済の本
ベストセラー検索リンク
おすすめ品
English