タグ

オブジェクト指向に関するm_pixyのブックマーク (46)

  • オブジェクト指向プログラミングの教え方? | システム設計日記

    技術者仲間で話していたら、4月入社の新人に、オブジェクト指向プログラミングをどうやって教えたらよいか?、という話になった。 想定している言語は Java。 ■動物・犬・モデルの説明から ■基用語の説明から:「カプセル化とは」「継承とは」... ■サンプルコードから: System.out.println( "hello world" ) ... どのパターンでもうまくいかなかったので、今度の新人研修では何か工夫したいね、という話。 結論から言うと「これだ」というアイデアがでたわけではないが、話の内容は、いろいろ興味深かったのでメモ書き。 Java はオブジェクト指向の言語なの? Java は、ある意味 C言語の仲間。ある側面はほとんど同じ言語。 ・int, long (プリミティブなデータ型) ・配列操作 ・if/for/return ここだけ見れば、C言語のまま。つまり命令型、手続き

    m_pixy
    m_pixy 2013/01/16
  • DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien - Digital Romanticism

    この記事はartima developerに掲載されている、Trygve Reenskaug氏とJames O. Coplien氏による記事「The DCI Architecture: A New Vision of Object-Oriented Programming」を、著作権者であるBill Bennrs氏の許可を得て翻訳したものです。文内の図の著作権はArtima, Inc.に帰属します。(原文公開日:2009年3月20日) 要約 オブジェクト指向プログラミングはプログラマとエンドユーザの視点をコンピュータコードにおいて統一するものと考えられていた。この恩恵はユーザビリティとプログラムの分かりやすさの両面にわたる。しかし、オブジェクトは構造をとらえるのに長けている一方で、システムの動作をとらえることができていない。DCIはエンドユーザのロールに関する認識モデルとロール間の関係を

    DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien - Digital Romanticism
  • Design Principles Behind Smalltalk (in Japanese)

    17 August 2004 Quenya 5 April 2004 Маяковский 20 February 2004 国会の議長になったら...Viscuit...になったら...備忘録 10 January 2004 German irregular verbsGerman 9 January 2004 When I become a real mayor, I'll.. 4 January 2004 AdventsKalendar 3 January 2004 chomswiki Swiki 14 December 2003 読みたい 9 December 2003 気になるものUser Interface 2 December 2003 tide triple helix oral history Smalltalkプロジェクトは私たち一人一人が持つ創造性を計算機によって支

  • http://java-house.jp/ml/archive/j-h-b/004549.html

    m_pixy
    m_pixy 2009/07/21
    新人の頃にハッとさせられた説明
  • F:\work2001\ObjectDay2001Final\HistoryOfBM.prn.pdf

  • Javaの知られざる欠陥(下)

    最後に,複数のクラスの実装を継承できない問題を取り上げる。この問題の原因は,Javaが多重継承を許していないことにある。 Javaでは多重継承ができない。これは,デメリットと言うよりもメリットとして語られることが多い。C++は多重継承を許しているが,その結果プログラムが複雑になり難解なバグを生んだ。 多重継承は実装を引き継げるが複雑 多重継承は,次のような点で混乱を招く。一つが名前の衝突である。同じ名前のメソッドを持つ別のクラスを継承した場合,どちらのメソッドが呼び出されるかわからない(図5[拡大表示])。これは,一つのクラスを継承した二つのクラスを,さらに一つのクラスが継承するときによく起こる。これをダイヤモンド継承という(図6[拡大表示])。一番上位のクラスのメソッドを別々にオーバライドしていて,それを最下層のクラスが呼び出すと問題が起こる。 図5●同じ名前のメソッド名を持つ二つのスー

    Javaの知られざる欠陥(下)
  • Objective-C 2.0プログラミング言語

    語ドキュメント 日語に翻訳されたデベロッパ向けのドキュメントです。 英語版の方が新しい場合がありますので、最新情報は英語版や英語ドキュメントページを確認して下さい。 App Store Connectヘルプ App Store Connectの使い方に関しての詳細やステップごとの使い方を確認できます。

  • OO厨厨トレイン

    OO厨厨トレイン ~オブジェクト指向の現在過去未来~ オブジェクトの広場 田中 恒,佐藤 匡剛,菅野 洋史,大村 伸吾 Caution!! オブジェクト指向の歴史という大それたテーマを扱っています。いろいろ間違えや大言壮語等あると思いますが、、、スルーせずにガンガン突っ込みください。ね。 OOかつエンタープライズ中心史観という立場を取っているため、IT業界における重要な出来事をすっ飛ばしている可能性があります。おそらくこれらの出来事もすべて確実にリンクしているのでしょう。 いろいろご容赦ください このスライドの企画書.. 「過去が希望をくれる」 最新の技術を追うことも大事ですが、過去を振り返り 自分達の立ち位置を確かめることも重要ではないでしょうか。 オブジェクトの広場のナビケートで、日におけるOOの過去、 現在の世界の潮流、OOの未来へ辿る旅にでましょう。 時の列車デンライナー 次の駅

  • Rubyで学ぶオブジェクト指向/デザインパターン

    Rubyで学ぶオブジェクト指向入門 オブジェクト指向プログラミング入門(その1).pdf オブジェクト指向プログラミング入門(その2).pdf オブジェクト指向プログラミング入門(その3).pdf オブジェクト指向プログラミング入門(その4).pdf 添付1 論理シミュレータクラス図.pdf 添付2 Pque説明.pdf 添付3 回路シミュレーション例.pdf 添付4 LogicSimソースコード オブジェクト指向プログラミング入門(その5)簡易システム性能評価シミュレータ.pdf オブジェクト指向プログラミング入門(その6)RUnitに適用されたデザインパターン.pdf Rubyで学ぶデザインパターン パターンサンプルコード このサンプルコードは、Java言語で学ぶデザインパターン入門 結城 浩(著) (ソフトバンクパブリッシング ISBN:479731462)に掲載されているサンプルソ

  • ソフトウェア配線

    クラスだかオブジェクトだかをIC(部品)に喩える、という言い方があったと思いますが、 あれが今なかなか実用化されてない(^^;のは何故か?を考えてるうちに、 ふと思い浮かんだキーワードが、「ソフトウェア配線」。 ICが有るなら、その「間」を繋ぐ「配線」も、有る(定義しておく)必要があるんじゃなかろうか? そして、配線を定義しないと、ICだけじゃどうせ結線できなくて回路が作れない(!)んだから、部品化が旨くいかないのも道理… ということだったりするまいか?と。 というわけで、オブジェクト指向や、もしかしてプログラム全般において、 配線に相当するものは一体なんなんだろう?と、ちょっと考えてみたくなった次第。 --戯 (ちなみに、またしても寝坊して、今から楽器フェア2003に行けるかどうか微妙な俺…) アラン・ケイの“ma” 抽象化は進むが多態性が失われない? 具体的な例だと… Max の/が

  • JJUG CCC 2008 Fallで鼎談しました - recompile.net

    JJUG CCC 2008 Fallで角谷さん、和田さんと私とで鼎談をしました。私の立ち位置としては、司会的な立場で話をナビゲートしていく役割です。『JavaからRubyへ』の翻訳者である角谷さんから話を引き出しながら、和田さんの知識で補強していき、一のストーリーを作り上げていくのをお手伝いしました。 今回のセッションですが、なんとなくダラダラと話していたようにみえて、実は事前に綿密な打ち合わせをしています。そのうえで鼎談のときには、半構造化インタビューのように遊びを持たせて、話に広がりが出るように工夫しました。 打ち合わせは、ホワイトボードを囲みながら、マインドマップ的な何かっぽいものでブレインストーミングをしています。そこから、一のストーリーを抽出し、その三人が納得するまでストーリーを修正しながら、繰り返し確認していきました。そのときのホワイトボードが、下の写真です。 最後に一枚の

  • さらに分かっておきたいトランジスタの種類 − @IT MONOist

    コロナ禍明けで以前の賑わいが戻ってきた「2023国際ロボット展(iREX2023)」。稿では、サービスロボットゾーンの展示を中心にレポートする。近年の目玉になっている川崎重工業の2足歩行ロボット「Kaleido」はさらに進化を遂げ、人機一体による“魔改造版”も登場。サンドイッチマンならぬ「サンドイッチロボ」も注目を集めた。

  • オブジェクト指向分析/設計概論

    1 はじめに Javaプログラミングを行っていくうえで、大きな関門となるのはオブジェクト指向分析/設計でしょう。「クラスとオブジェクトの違いは」といった初歩的なものから、「再利用性を高めるためのフレームワークとコンポーネントの責任の配分の度合」といった高度なものまで、Javaプログラミングの要諦(ようてい)はオブジェクト指向分析/設計との関係の中にあるに違いありません。 Javaプログラマという立場からオブジェクト指向分析/設計を取り巻く状況を整理してみるのが稿の目的です。 業界標準のオブジェクト指向モデリング言語であるUMLと、代表的なオブジェクト指向分析/設計プロセスであるユニファイドプロセス、そして最近発展が著しいパターン技術をベースにJavaプログラマに取ってのオブジェクト指向分析・設計の枠組みを総括してみました。 2 オブジェクト指向とは何か オブジェクト指向といえばクラスやイ

  • オブジェクト指向をわかりたいなら今すぐ『オブジェクト指向でなぜつくるのか』を読め - 思っているよりもずっとずっと人生は短い。

    オブジェクト指向の入門書と言えば『オブジェクト指向でなぜつくるのか』に決まってるよね、と話していたら、「ええ、そうなんですか?」と、このに推薦のことばを寄せていた平鍋さんの会社の人に言われてショックでした。ちょっと駄目すぎです。角谷さんなんとかしてください(<無茶振り)。 オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識― 作者: 平澤章出版社/メーカー: 日経BP社発売日: 2004/06/03メディア: 単行購入: 34人 クリック: 448回この商品を含むブログ (198件) を見る 私もご他聞に漏れず、オブジェクト指向のはいろいろ読んでみたのですが、『オブジェクト指向でなぜつくるのか』に勝るは内外合わせてまだお目にかかれていません。率直に言ってプログラマ必読書だと思います。 その素晴らしさは随所にあるのですが、章立てに追って説明しましょ

    オブジェクト指向をわかりたいなら今すぐ『オブジェクト指向でなぜつくるのか』を読め - 思っているよりもずっとずっと人生は短い。
  • いまさらきけない「ドメインモデル」と「トランザクションスクリプト」 - ひがやすを技術ブログ

    このネタは、私自身も何度も書いてきたけど、結局意味のある結論になったためしがありませんが、再度考え直してみたいと思います。 「ドメインモデル」と「トランザクションスクリプト」をすごく簡単に説明すると、トランザクションスクリプトとは「アクションより起動される一連の手続き」、ドメインモデルとは「ドメイン内の名詞によって体系化されたモデル」です。 トランザクションスクリプト派は、「トランザクションスクリプトの方が書くのが簡単だし、業務アプリケーションにオブジェクト指向は、ほとんど必要ない」といいます。 それに対し、ドメインモデル派は、「ドメインモデルはオブジェクト指向を生かすことができるのでメンテナンス性が良い」と主張します。 ずっと平行線のままですね。 私は一番最初に「ユースケースと一対一にサービスクラスを設け、ビジネスロジックはサービスクラスに記述する」という主張をしてました。 記念すべき(

    いまさらきけない「ドメインモデル」と「トランザクションスクリプト」 - ひがやすを技術ブログ
  • ちょっとまて、オブジェクト指向って実はすごいんじゃね? - ミームの死骸を待ちながら

    何度か話題に出している=おもしろい 大学院の講義「システムモデリング」だが、今回の講義はオブジェクト指向についてだった。 なにやら凄い興奮したのでその記録を残しておく。 すべては、オブジェクト指向モデリングありき。 やろうと思えばCでもアセンブリ言語でも機械語でもLispでもオブジェクト指向はできる。オブジェクト指向言語とは単にオブジェクト指向モデリングを実装しやすい*1ってだけ。 重要なのは設計であって、その後のどの言語でマッピングしようとも変わらない。自動化してもいいくらい。だから下請けに作らせるのですね。 「言語は何でもええ」と言っていた友人を思い出した。 メモリと高級言語 I/Oやオブジェクト属性の初期化でバグの7-8割が発生する理由は、メモリ操作を行うから。 最近は@natsutanさんとTwitterで話したり、どんどん低レイヤーに下がっていくスーパーハカーの友人と話したりして

    ちょっとまて、オブジェクト指向って実はすごいんじゃね? - ミームの死骸を待ちながら
  • “オブジェクト指向”の本質 - Smalltalkのtは小文字です

    「OO(OOP)とは何か?」については、ネタが割れてしまえばそんなに複雑なものではない…と個人的には最近、考えるようになってきています。 リスコフのユーザー定義型(aka、抽象データ型。データと手続きのセット)そのもの、あるいはその「ユーザー定義型」をクラスやそれに準ずる機能で実現しようとするOO(ストラウストラップ。aka、クラス指向。継承を使ったプログラミング)。もしくはそれらを一般化したOO(クック。aka、手続きによる抽象化)。 メッセージングにより動的性を実現しようとするOO(ケイ。aka メッセージ指向) 今回登場した、後者のメッセージングのOOのミニマリズムをおしすすめることによって派生的に生じたOO(アンガーとスミスからの 派生 変形。aka、プロトタイプベースOO。フレームとスロット、あとは委譲機構があれば十分…というミニマル化の結果、アンガーとスミスの頃には重要だった“

    “オブジェクト指向”の本質 - Smalltalkのtは小文字です
  • イマドキのオブジェクト指向 (arclamp.jp アークランプ)

    最近、改めてオブジェクト指向の説明というものを見直すことがあったのですが、出てきた結論としては「イマドキのオブジェクト指向」という形で再編集しても良いのではないかと。 先週の丸山先生レクチャーシリーズ2007-2008 第3回「SOAの現在」で発表した「メッセージ指向によるシステム開発の変化の兆し ~遍在するメッセージ指向~」は、その表れ。ウルの河村さんと話しているときに盛り上がって、そのまま形にしたものです。 では、「イマドキのオブジェクト指向」とは何か。それはメッセージ指向という解釈です。オブジェクト指向は「メッセージによる処理の分割」であり、「分離された処理をオブジェクトと呼ぶ」と定義します。これまではオブジェクト指向とは「オブジェクトによる処理の分離」であったわけです。 背景 現在、ソフトウェアを作る時に重要なのは「処理をいかに分離し、作業を分担するのか」ということです。これはプ

  • メッセージ指向なオブジェクト指向でのUMLって?

    オブジェクト指向は単なるオブジェクト間のメッセージのやり取りに過ぎない、という言葉は、僕の身近な人たちにとっては僕から一度は聞いたことがあるだろう。そんな考えに関して注目エントリが下記。書いてある内容はほぼ同意なんだけど、部分的に引っかかりを感じざるを得ないので、僕の意見をエントリしてみる。 「 イマドキのオブジェクト指向」- アークランプ より: では、「イマドキのオブジェクト指向」とは何か。それはメッセージ指向という解釈です。オブジェクト指向は「メッセージによる処理の分割」であり、「分離された処理をオブジェクトと呼ぶ」と定義します。これまではオブジェクト指向とは「オブジェクトによる処理の分離」であったわけです。 太古の昔から、オブジェクトは「メッセージのやり取りによる処理の委譲の繰り返し」だったはず。「継承ではなく委譲を使いましょう」なんて思想は、オブジェクト指向の基であり、それはメ

  • 『[お知らせ] オブジェクト倶楽部クリスマスイベント参加』

    オブジェクト倶楽部クリスマスイベント2007(12/21)にて、オブジェクトの広場名義で発表の機会をいただいた。「オブジェクト指向の過去・現在・未来」というテーマで、過去編を広場メンバのyojikさん、未来編を同じく広場メンバの大村君(a.k.a. everpeace)、そして現在編を私が担当した。 OO厨厨トレイン(オブジェクトの広場) 私が発表に加わったのがこれ。オブジェクト指向の現在ということで、半ば恣意的に次の3つを現在の切り口として紹介させていただいた。- DI + AOP - サービス指向アーキテクチャ(SOA) - ドメイン駆動設計(DDD) そのうちのDDDについては、DDDパターンの全体像を何とか1枚のスライドで視覚的に説明したいと思い、苦労して作った図がある。かなり頑張って作ったので、ここでも再掲したい。 この1枚の図を元にDDDの全体像を細かく語りたかったのだが、時間