オブジェクト指向のまとめ情報

オブジェクト指向』に 関連する人気アイテム

アジャイルサムライ−達人開発者への道−

良いソフトウェアづくりの実践ガイド

(参考になった人 14/14 人)

ソフトウェアづくりが自分の仕事で、今より、良いやり方を模索している、という人たちに強くおすすめ。 開発のやり方の改善ヒントが満載。なによりも、内容が、具体的で、実践的なのがよい。 書き方もやわらかく、絵が豊富。でも、中身はハードで濃い。第1章「ざっくりわかるアジャイル開発」の、6つの原則(たった2ページ)だけでも、ためになる。ここだけ立ち読みもあり。1.大きな問題は小さくする 2.本当に大事なことに集中して、それ以外のことは忘れる 3.ちゃんと動くソフトウェアを届ける (※大切!) 4.フィードバックを求める (フィードバックは、行く手の暗闇を照らすヘッドライト) 5.

必要とあれば進路を変える (みんなで合意できるかな?) 6.成果責任を果たす (対価に見合った、あるいは、対価以上の成果、出してる?)その他、私が、読んで、印象に残ったことの抜粋です。・やり方がたったひとつなんてことはない。原則やプラクティスを、そのプロジェクト固有の性質と状況にどう適用していくか? ・とにかくコードを書きたいだけのメンバーばかりだったらどうする? ・顧客が、思ったようにプロジェクトにかかわってくれない時は? (※これへの回答は、ちょっとがっかり) ・プロジェクトの基本的な考え方やスコープが変化してしまったらどうする?・顧客の要求を書きだす時間より、顧客と話す時間を増やせ ・見積は、確度も大切だが、機能Aと機能Bの作業量の比較ができることが大切・変化を記録する(変化をみんなの目の見える形にする) ・一回のイテレーションに収まらないサイズはどうする? ・大きなリファクタリングは、いつ、どうやる?・プロジェクトの状況が良くない時は、みんなで失敗を受け入れ、みんなで前に進むチャンス。 ・うまくいかないときは、感情に起因することが多いのが現実。そこが自覚できれば、道は開ける。・テストコードを書くと、作業が倍になる? (今は、IDE使いこなせば、らくちんになった)・ ・テストは、「自分が必要だと思っている」ことの表明。 考えすぎや、考えたらず、は、テストコードに現れる。・リファクタリングも、テストも、ビルドと配置も、できるだけ小さな単位にするのが成功の秘訣。読み終わっての感想:手法が「アジャイル」じゃなくても、ソフトウェア開発の現場なら、きっと役に立つ。 さまざまな改善ネタと実践ガイドがちりばめれています。アジャイルに取り組んでいると思っている人で、この本に、違和感を持つ人も結構いそうな気がする。 最終成果やプロジェクトの目的にこだわるか、形やキーワードにこだわるか、が分かれ目かな?

すばらしい

(参考になった人 1/1 人)

ThoughtWorksでアジャイルコーチも務めたという著者が、アジャイルの考え方を解説した本。 極めてわかりやすく、すばらしいです。300ページ程度の量で、 細かいことが書いてあるわけではありませんが、 実際にアジャイルを推進していくときにはどうしていけばよいかが、 わかりやすい絵や言葉で書かれています。 翻訳文もちゃんと砕けていてよいですね。障害を取り除く工夫は遠慮なくどれだけでもやる、というアジャイルを解説した本なのですから、 堅苦しい文章で無駄に読みにくくしてある本になっていては、言動不一致というものです。

アジャイルの本はこうでなくては。途中に何回も出てくる、 アジャイルの弟子と師匠の会話が、 実際に困ったときにどういう思考をすればよいかをわかりやすく説明しています。どうすればよいかじゃなくて、 どういう思考をすればよいか、です。少なくとも今のところ、アジャイルは決まったルール通りにやればうまくいく、 というものではないようです。 必ず問題は起きる。 書いてある通りにやっても自分のところとは合わないことは必ずある。 それをどう工夫して解決していくかも、アジャイルには大切なことです。 その辺が非常にうまく書かれている本ですね。また、著者の実際の失敗談、 たとえば君のチームはもう来なくていいとか元請けに言われたとか、 そういう体験がコラムとして書かれているのもよいですね。うまくいく方法だけ書いてある本が多いですが、 それでは理想論になってしまいます。 少なくともアジャイルは理想論だけ見て勉強してうまくいくものではないようです。細かい方法論については、そんなには書いてありません。 特にプログラミング技術については、最後の1/4程度しか書いてありません。 その辺は、より分厚い丁寧な本を読んでくれ、ということですね。 この本を読んで実行に移して、ある程度勘所を身に着けた後で。などなど。 大変に素晴らしい本です。

誰でも読める、誰もが読むべき本

(参考になった人 20/23 人)

この本のタイトルが生むであろう誤解を解くため、3つ主張しておきたい。1. この本は「アジャイル」の本ではない 確かにアジャイルの話は出てくる。だが、いわゆるアジャイル手法の本ではないのだ。「どういう手法を用いればアジャイル開発をやっていると言えるのか」ではなく、「継続的に顧客に価値を届ける」には何をしなければならないか、が語られている。そして、この「継続的に顧客に価値を届ける」ことこそが、アジャイルという言葉が生まれたときに目指されたものなのだ。2. この本は「開発者」のための本ではない 想像してほしい。

顧客の要件を聞き、ソフトウェアを実装して、顧客に渡し、フィードバックをもらって、また実装して渡す。そういうことをやっている5人のチームがあるとする。あなたはそのチームの一員として胸を張って働けるだろうか? もし、少しでも不安があるならこの本を読むべきだ。アジャイルに縁がない人、普段コードを書かない人にも読んでほしい。副題にある「達人開発者」とは、「コードを書く人」ではない。「顧客の願望をかたちにして届けることのできる人」なのだ。3. この本は「入門書」ではない 前述した5人のチームに入れると胸を張って言える人にも、やはり読んでほしい。「継続的に顧客に価値を届ける」ために何をしなければいけないのかが、ロジカルかつ網羅的に語られている。「どう手を動かせばいいか」でなく、「なぜそれが重要なのか」が語られているのだ。それも、どうこの薄さに納めたのかがわからないほど網羅的に。この本を読んで、「学ぶことは何一つなかった」という人はまずいないだろう。本当にいたら、その人は本を書くべきだ。ただし、「難しい」本ではない。文体は軽く、日本語は読みやすい。誰でも読める本、そして、誰もが読むべき本だ。

自然で女の子受けのいい服を集めました

コーディネート

今女の子と飲んでるんだけど来ない?週末合コンどう?

アナタは突然の誘いにどんな服を着ていきますか?

こういうときにはは女の子目線で選んだコーディネートが一番。
着こなしが苦手な人にはファッションスタイルごと提案します。

今なら 10,500円 以上で送料無料。

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

従来クライアントアプリを専門に開発してきましたが、Web アプリケーションの領域に踏み込む必要が出てきたため購入しました。内容は広く浅く、現在に至るまでの Web アプリケーションの技術の変遷を確認できます。 著者がまえがきで言及している通り、単なる歴史としての技術の移り変わりではなく、それまでの技術にどういった特徴・問題があり次の技術が生まれたのか 必然性をつかめるようになっています。またその問題点などへの言及も理屈をとうとうと述べるのではなく、非常にシンプルな Web アプリケーション(初期の例では単なるダイナミックなWebページですが)の例をもとに 同じようなことを実現するためにそれぞれの技術を使うとどう書けるのか、何が実現できないのかを示しているので実感がわきます。

ただしサンプルは非常にシンプルなもので高度な問題は示されていません。 またそれぞれの時代時代において最もメジャーな技術を選択しているので、言語毎の細かな違いなどは分かりません。この本の狙いとしては(これも著者自身が言及していますが)、例えば「JavaScript がメジャーっぽいから勉強してみよう」とかではなく 現在の Web アプリケーション開発に対する JavaScript の位置づけを理解したうえでその言語を選択する、というように考えられる人を育てることだと思います。 そういった意味で本書は内容のバランスが非常に良いとおもいます。前提知識としてはプログラミング経験 + HTML 位が最低限分かっていれば大丈夫だと思います。これを読んだことで、次に勉強すべき技術を自分で検討できるようになりました。 Web アプリに対する知識 0 でこれから挑もうとしている人、 既に簡単な Web アプリ位は書いたことがあるが、サーバーサイドとクライアントサイドの技術の位置づけなどがイマイチわからない人にお勧めです。

Web技術を俯瞰するのに最適

(参考になった人 27/31 人)

「アセンブラ・Cによるプログラム開発経験あり、現在技術の売買の仕事に携わる」、という立場の私にとって、Web技術をクイックに俯瞰するのに役立った。 技術の売買では、「売買対象がどの部分の新しい技術なのか」を理解することが第一歩で、そこが理解できなければ、新しい技術の価値を把握することは困難である。 それはその技術の開発者に聞けば良いとも思われるが現実はそれほど甘くはない。 まずWeb技術全体を私に講義できるほど開発者は暇ではない。 それから、私自身がある程度の技術的背景を身につけていないと、開発者から真のエッセンスを引き出すことはできない。

また、私自身にとっても、技術の売買の対象は広く、一つの分野の知識の習得に過大の時間を費やすこともできない。 こんなバランスの上でWeb技術全般に向き合う私には最適の粒度で各技術が紹介されている。 優れた点の一つに、代表的なオープンソースソフトウェア(OSS)の機能概略が説明されていることが挙げられる。 Web上に散見されるOSSの解説で、そのOSSがどのような機能を有するのかを簡潔に著したものは皆無である。 かといって各OSSのコミュニティサイトで詳細資料を読んでいたのでは時間がいくらあっても足りないし、そもそもコーディング担当者向けである。 例えば本書「図6−18 Strutsの内部構造」の如くの簡潔にして要を得た概略説明が私の望んでいたものである。 「はじめに」で著者も述べているように、関連技術の全体像を理解して仕事を進めたほうが面白いだろうし、様々な新しい事象にも対応できる。 それはこの世界に新規参入する技術開発者のみならず、特許、技術ライセンス・売買、金融等、技術の周辺で生活する人々にも同じことが言えるだろう。

Web技術を体系的に学びたい方にオススメ

(参考になった人 46/50 人)

最近のプログラマ、システムエンジニアは社会に出る前から携帯やPCに慣れ親しんでおり空気のようにWebを駆使しているかと思います。 しかし、その Web 技術の根底にある基礎的な知識や仕組みがよく分からないまま「これはそういうもの」「これはおまじない」といった形で詳細には目をつぶって Web システム開発に当たっている方も多いのではないでしょうか。 そういった基礎知識がなくてもサーブレットやWebアプリケーションフレームワーク、データベースやSQLなどの知識があれば Web システム開発は行えますが、この本で詳しく説明されている「Webとは何か」を理解出来ていないといざというとき大きな壁にぶつかって開発やトラブルシューティングが困難になってしまいます。

この本を通して読むことでなぜ Web アプリケーションフレームワークを使うのか、どういうときにセキュリティ上の欠陥が発生するのか「勘どころ」がつくようになりそうです。 言語としては主に PHP と Java が出てきますが、全体の構成としては言語に依存しない内容となっています。 特に 7章の「セキュリティを確保するための仕組み」は全ての Web 開発者が把握しておくべき大事なことが書かれています!

わかりやすいJava入門編

素人の私にもできてしまった

(参考になった人 3/3 人)

4月頃に購入し、12月10日までにJava入門編最後のBlackJackのチップ課題を終えることが出来ました。今まで帰宅後や休日に一日約1時間から数時間PCの前で試行錯誤してきました。 入門編であっても私のような素人には難しい部分がありますが、何度も読み返しつつ試行錯誤していれば理解できる内容です。 プログラミングには興味がありましたが最近見たいテレビ番組などもなく時間つぶしの読書の一つとして購入しましたが有意義な時間を過ごすことが出来ました。最後の課題であるBlackJackは難関で一度目は上手く機能せずそれ以上いじらず諦め、新たににパッケージを作成し再びとりかかりました。

関連するプログラムを段が下がる毎に斜めにずらして表示したり ========<><><><><><><>などを使いメソッド別の役割毎に区切るなどでなんとか比較的分かりやすいプログラムとなり、チップをかけ勝敗後に勝者の総取り方式であありますが完成。最後のdo - while文の作成の際には親子の持ち札と有効札を初期化するなどのメソッドや、通算成績を残すメソッド、親子の勝敗や保持チップの表示などでは スペード<12>などのように文字列化するなどやるべきことが大量にあり気づいたときには深夜1時ということもありましたが達成感がありますね。 次はババ抜きプログラムに挑戦しようと考えています。 その後、すでに購入しているオブジェクト指向を学ぼうと思っています。まだまだ理解は浅いですがプログラミングの面白さを理解させてくれる本です。プログラミングに必要なEclip3.6はVectorなどでも無料で手に入れることも出来ます。

自分がこの教科書で感じた事の長所と短所を書こうかと思います。長所: 凄く丁寧に作られている。テキスト、練習問題、テキスト、練習問題、・・・通過テスト。っと随所随所に的確なタイミングで問題が出てくるので、凄くやりやすいし、本当に分かりやすくむしろ楽しくなってくるのでモチベーションは下がりません。 批判になるかもしれませんが、今現在職業訓練校にてJAVAの別テキストを買ったのですが、それよりか遥かに分かりやすいです。(第2版 JAVA言語プログラミングレッスン(上)、これは、あればあったで便利なのは便利でした。

) 誰かに聞かずともここまで詳細に理解できるのは、この本が一番かと思います。 自分は、大変助かりました。短所: そのかわり分厚いですww 軽い辞典レベルです。(自分は問題なかったです。)あと通過テストの解答や間違い訂正、javaの開発環境などがホームページからワザワザ落とさないといけないが、インターネット環境がない人には、辛いかも(特に環境は)。 (逆に考えると、インターネットさえあれば、ちゃんと訂正などは、しっかりとサポートしているというべきでしょう。) あと第一版は、買わないで事です。ww 訂正箇所が多いので修正に時間がかかります。 (次のオブジェクト指向編も第1版は買わないようにww(ノДT))適格者: 本当にこれから初めてjavaプログラミングの勉強や独学を考えている人 インターネットをつないでる人 分からない所があっても周りに相談をする(そういう知識を持つ)人がいない・・・などの方にお勧めです。

タイトルに偽りなし!

(参考になった人 11/13 人)

まさしくタイトルの通り「Java」の「わかりやすい」「入門編」です。 著者は大学や専門学校のJavaのクラスでは、普通の授業・講義はせずに、 学生にはこの本で自習させ、個別の質疑応答等のみ行うとの事です。 「この本は教師がいなくても自学できる独習書です。」(オブジェクト指向編P395) という考えだからだそうです。この本を読めば、それが自画自賛ではない、と思えます。この入門編は、C言語等で、基本中の基本とされる事項が多数含まれます。 しかし、C言語とは微妙に違うJavaの仕様も結構出てきます。 (例:p98 y = ++x + ++x; とか p122 double型でも % が使えるとか、他にもまだあります) そのため、C言語等に多少自信がある人でも、できれば、この入門編から読んだ方がよいですし、 逆に、C言語等の知識を前提とした説明は基本的に無いのでプログラミング初体験の人も安心です。

新しい本(2009年10月発売)なのでまだ、正誤表公開分以外でも、ミスプリントがあります。 後、著者が独自に作ったInputクラスが4章以降出てくるのが、個人的に嫌です。 Java標準の機能でもソックリの処理はできますが、これは入門編だからという配慮によるものでしょう。 ミスプリも独自クラスも、ある意味しょうがない事なので減点なしの星5とします。 「迷ってる暇があったら、とりあえずコレ買っとけ!」と言いたくなる本です。

JavaScript本格入門 ~モダンスタイルによる基礎からAjax・jQueryまで

ひとことで言うと、「多言語を1つでも知っている人が注意深く考えて読み解けば、これ1冊で完結する」という類の本だと思います。プログラミングをしたことはないが、とりあえず話題のJavaScriptで動くものを作ってみたいという方には荷が重いでしょう。 例えば、配列、オブジェクト、スコープなどの基本的な抽象概念は、おさらい程度という感じで話が進みます。変数とは何か、参照とは何かなどは1ページ程度で終わっていますし、if文の三項演算子に至っては「JavaScriptでも使える」程度の説明のみで、具体的な仕組みの説明が省略されています。

しかし、そもそも筆者がまえがきで「この本は、初学者にも分かりやすいように書いたが、『少しはJavaScriptをかじったことがあるが、正しい文法知識になると自信がない』という人を想定している。」とはっきり書いており、JavaScript特有の仕組み・問題——JavaScriptの3つの関数定義の方法はどんな場面でどんな違いが出て、どういうときにどれを使うのか、関数の引数が省略可能なJavaScriptでargumentsオブジェクトはどんな風に活用するのか、プロトタイプとクラスの違い等々—については非常に細かく書かれています。 また、私はオライリーのサイ本とあわせて読んでいますが、「この機能は実務でどう使うのか」という点に関しては、圧倒的にこの本の方が分かりやすいです。その意味で「きちんと動くものを作るために」という表紙の言葉には間違いありません。読み手を選ぶけれども、非常に効率的に学習できる良い本だと思います。

初心者向きではなく、中級者が上級者を目指すための、入口になる本だと思います。まず、JavaScriptの基本文法を学ぶのには向いていません。クライアントサイドJavaScriptに関わる技術の基礎知識(※HTML、CSS、DOMなど、言葉の意味が分かり、簡単なコードは書ける・読める程度)と、コアJavaScriptの基本文法(変数宣言や条件分岐、繰り返し、オブジェクトリテラルや関数の定義)くらいは分かっている人が読むべきです。 全くのJavaScript初学者なら、「WebサイトにJavaScriptをちょっと入れて動的なページを作ってみよう」みたいなお手軽ハウツー本を先に見るほうがいいでしょうね。

他方、中級者が上級者を目指すにあたって読む本かというと、微妙なのは認めざるを得ない。サイ本の方が網羅的なのは間違いありません。本書は述べたい事が多い割にページ数が少ないため、どうしても言葉足らずというか、サンプルコード足らずというか、そうなってしまっています。 しかし、サイ本の、「図の少なさ」、「文章による抽象概念の説明」に付き合いきれる初心者・中級者がどれくらいいるかというと疑問です。本書では、スコープチェーンなどの分かりにくい概念が図でうまく説明されています。その一点だけでも買う価値があると思います。中級から上級に歩を進めるための、手ごろなガイドだと思います。 蛇足ですが、『JavaScript:The Good Parts』を批判的に読めるようになったら上級者、といってもいいでしょうかね?私はまだまだ中級者です・・・

AjaxやjQueryの話題はもちろんのこと、JsUnitやJsDoc等 開発現場で必要となる知識についてしっかり記述されていて、応用面で即活用できる良書ですが、 本書の前半部では環境に依存しないJavaScriptの本質について詳しく解説されていて、仕事で使っているものの・・・という方には一読の価値ありだと思います。 大切な部分は何度も繰り返し出てきて、先ほどはこうこうと言いましたが実はこういう見方もできて本質はこっちです的な進み具合をしているところが特に気に入っています。 初めてJavaSciptを始めるという方よりもどちらかというとある程度は経験している方が自分の理解度を確認・さらにステップアップしていくのに向いているような気がします。

増補改訂版Java言語で学ぶデザインパターン入門

単なるデザインパターンのカタログ

(参考になった人 5/6 人)

本書は、Erich Helm, Richard Johnson, Ralph Vlissides, John Gamma の 4 人 (通称 GoF) によって書かれた 『Design Patterns: Elements of Reusable Object-Oriented Software』 (以下 GoF 本) を元に、GoF 本に書かれている種々のデザインパターンを分かりやすく解説している、というもの。 だそうなのですが、この本を読んだ感想は 「書いてあることは理解できるし分かりやすいと思うけど勉強にはならないな」 というものでした。

その時は GoF 本を読んでいなかったのでそもそもの GoF 本があまりためにならない本なのか本書がいまいちなのか判断できませんでしたが、最近 GoF 本を読んで本書がイマイチであるということが分かりました。本書は、一言で言ってしまえば単なるデザインパターンのカタログです。 GoF 本で紹介されている種々のデザインパターンを紹介している、というだけです。 本書では、 ・どういう状況でそのパターンを使用すればよいのか ・そのパターンを使用する際にどのような点を考える必要があるのか ・そのパターンの実装としてどのようなものが考えられるのか といった点がほとんど考えられていません。 特に、実装上考えるべき点について全くといっていいほど触れていない点は、実用的でないと感じました。 (GoF 本では、実装上考えるべき点などについて議論されています。)もちろん、難しい点をそぎ落としているため内容は簡単になっています。 その点では初心者向きだと思います。 とはいえ、内容的には本書だけでは不十分でありいずれ GoF 本を読む必要があると思いますので、最初から GoF 本を読むことをオススメします。 GoF 本も GoF 本でやや難解な点があったり例があまり適していないような箇所があったりと微妙な点はあるのですが、本書にあって GoF 本に無いもの、というものは無いと思いますし。

理解しやすい本 ≠ 良い本

(参考になった人 31/33 人)

この本の評価は、これだけ読んで理解した人と たくさん経験を積んでデザインパターンの本質を 理解している人とで正反対になると思います。一言で言うと、平易に書かれているが、 なかなかパターンの良さを正しく伝えられていない、 大切なものが失われている、ということです。 この本だけ読むと、それに気づけないため、 必ず別の本も読んでステップアップすべきです。特に厳しいなあと思うのはAbstract Factoryや Bridgeあたりです。 Bridgeを読んで、バージョン、プラットフォーム、 ライブラリを変えてもクライアントは固有の実装を 意識せずに理想的な層を今までと同じように使えます、 と理解できた人がいるでしょうか? 設計時に、ここはプラットホーム依存だから Bridgeを使って薄い層を設けようと考えられるように なった人がいるでしょうか?オブジョエクト指向の基本原則や (開放・閉鎖の原則やインターフェイス逆転の原則) 可変性解析(べったり書く部分を切り離す)について学び、 それがパターンでどう活かされているかについて 学ぶと良いと思います。

↑ここらへん、不幸にも世界的には当然ではあるものの 日本にはあまり輸入されていない考え方です。少し不満を強調しすぎてしまいましたが、 Head Firstデザインパターンと並び、最初に読むには とっつきやすくて良いと思います。 ただ、この本を読んで終わりにするのではなく 難しくても良書を何度も読むことをおすすめします。

プログラマー必見でしょう

(参考になった人 22/31 人)

サンプルソースはJavaで書かれていますが、ある程度プログラムをしている人ならJavaはわからなくても理解できると思います。(僕はPerl,PHP系プログラマーですがすごくわかりやすかったです。) オブジェクト指向がわかっている人であればすぐ理解できます。 とにかくわかりやすい。 なぜこのデザインパターンを利用するか?どのようなときにこういった方法でソースを記述するかという理由も説明してくれています。 GoF本で挫折した人はこっちからもう一度チャレンジしてみるのもいいのではないかと思います。 どのプログラム言語を使うにしても最終的にはオブジェクト指向という考え方にたどり着くので勉強する価値はあると思います。 自分の考え方がこの本のおかげですごく考え方がひろがりました。

オブジェクト指向』by Google Search

オブジェクト指向』の解説 by はてなキーワード

object-oriented

ソフトウェア開発の考え方のひとつ。オブジェクト同士の相互作用としてシステムの振る舞いをとらえる考え方。

クラス、インスタンスメソッド継承、 集約などの概念をソフトウェア開発に持ち込み、これによって生産性が大きく向上した*1


プログラミング言語としてのオブジェクト指向

発祥は Simula であり*2、その後 Simula の影響を受けて設計された Smalltalk によって概念が普及した。また同じく Simula の影響を受けた C++ の爆発的普及によって概念が広まり、ソフトウェア開発の主流となっていく。

ただし、プログラミング言語によってオブジェクト指向の捕らえ方に微妙な差異が存在し、それがプログラマの理解を困難にしている一面が存在する。その差異は大きく分けると次の3種類の流派として整理することができる。

C++Javaなどは、ストラウストラップのオブジェクト指向をベースに設計された。Smalltalkではケイのオブジェクト指向を基にしている。JavaScriptやSelf、Ioなどは、プロトタイプベースのオブジェクト指向が基になっている。

概念

  1. クラス
  2. インスタンス
  3. メソッド
  4. 継承(inheritance インヘリタンス)

This page is provided by Matome Project.
Contact information.