タグ

ooに関するk1mのブックマーク (24)

  • オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です

    忙しい人のためのまとめ 一般に「オブジェクト指向プログラミング」と呼ばれる考え方には発案者が異なる二系統がある。(ただし簡単のため、次のうち前者から批判的に派生して生じたプロトタイプベースのオブジェクト指向はここには含めていない) アラン・ケイによる、変化に強い長期運用可能な遅延結合システムを SIMULA67 にあった「オブジェクト」をメッセージの受け手とすることで実現(オブジェクトにメッセージ送信)するアイデアに基づく「メッセージングのオブジェクト指向」と、 ビアルネ・ストラウストラップ(前後して抽象データ型を発案したリスコフ人、オブジェクトクラスを考えたニガードらSIMULA陣営、Eiffelのメイヤーらも同様の着想を得ている)による、ユーザー定義型(抽象データ型)を SIMULA67 にあった「クラス」という言語機能を使って実現(カプセル化、継承、多態性)するアイデアに基づく「抽

    オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です
    k1m
    k1m 2007/01/24
    Kay / Stroustrup / Cook
  • 業務系のクラスでインタフェイスの実装クラス名に「インタフェイス名+Impl」って名前をつけるのはダサいよね。 - wildcatsの日記

    実装に特性があるからインタフェイスと実装を分離するわけで*1 インタフェイスに対して実装が1クラスになる場合にはインタフェイスと実装を分離する必要が無いとボクは思うね。 追記:特定のDIコンテナの話はこのエントリと無関係です。 追追記:他所での議論の延長でボクの考えをここに書いただけなので、特定のDIコンテナとか特定の設計手法とかは何も関係ない(というか意識もしていなかった)話ですけど。 上にも例外として書いたしコメントにも書いたんだけど、たとえばトランザクション自動制御とかでFacadeに対してAspectをかけたい場合の設計手法の一つとしてインタフェイスと実装を強制的に分離(インタフェイスと実装が1対1)してDynamic Proxyを使う設計手法を用いても構わないのではないでしょうか?最近のプロジェクトでDIコンテナは使ってないけどHibernateのセッションとかの管理をFacad

    業務系のクラスでインタフェイスの実装クラス名に「インタフェイス名+Impl」って名前をつけるのはダサいよね。 - wildcatsの日記
    k1m
    k1m 2006/12/07
  • 初心者がJavaを“超高速”で学ぶためのコツ:ITpro

    皆さんの中には,「いまどきJavaくらいできなきゃねぇ~」と言われてからもう何年も過ぎちゃった…なんて人も多いのではないでしょうか。いつ何時「新しいプロジェクトJavaでいくから」なんて上司に言われたりしないか,内心ドキドキしてる方もいらっしゃるでしょう。私が受け持つJavaの授業でも,受講生の方からそういった悩みをよく聞きます。 しかしよく聞いてみると,なんだかとても効率の悪い勉強をしているなあと驚くことがあります。なぜなら多くの方が「Javaの入門書で勉強しているのにJavaのプログラムを作れるようにならない」と言われるからです。COBOLやC言語のプログラミング経験があるにもかかわらずです。 なぜJavaの学習がなかなか進まないのでしょうか。残念ながら「Javaのスキルが上がらない」という方の多くは,「データとアルゴリズム」「Javaの文法」「オブジェクト指向」の三つをきちんと学べ

    初心者がJavaを“超高速”で学ぶためのコツ:ITpro
    k1m
    k1m 2006/10/07
    これはひどすぎると思う
  • OO度判定 - 兼雑記

    昨日のネタですが、まあソースを。 http://shinh.skr.jp/tmp/oo.txt 実にくだらないです。 YTさんのコメントを見て brainfuck 対応入れるか一瞬考えて入れなかったのを後悔しましたとさ。

    OO度判定 - 兼雑記
    k1m
    k1m 2006/09/13
    ソース公開。ちょっとふいた
  • オブジェクト指向批判 - 数学猫の生活と意見

    k1m
    k1m 2006/09/13
  • 脱オブジェクト指向のススメ:ビジネスをデザインするブログ:オルタナティブ・ブログ

    知り合いから相談に乗ってやってくれと頼まれたので、ある若手プログラマと会って話をした。お題はスキルパスについでだ。大学を卒業後、独学でプログラミングを学び、現在は中規模開発会社で、主に業務システムの開発に携わっているそうだ。 で、相談の内容は、「このまま現在の業務を続けるか、辞めて、専門学校などでゼロからプログラミング(というかシステム構築)を学びなおすべきか」というものだった。 で、「どうして?」って聞いたところ。 「やっぱり、オブジェクト指向とか、きちんと理解していないので、基礎からやり直したいんです」とのこと。 で、よくよく話を聞いてみると、要は、現場の開発において発生するいろいろな課題を解決できないのは、オブジェクト指向などをよく理解していないからでは?と思いこんでいるようである。 「・・・・」 この手の相談を受けるたび、正直私は気が遠くなるのだ。ITmediaの紙面上で書くのは少

    脱オブジェクト指向のススメ:ビジネスをデザインするブログ:オルタナティブ・ブログ
    k1m
    k1m 2006/09/13
    hahaha
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • http://www.luca.demon.co.uk/TheoryOfObjects.html

    k1m
    k1m 2006/09/13
  • rubyco(るびこ)の日記 - Rubyに++がない理由

    今日の衝撃経由、ruby-list:5323にて。 「(Rubyに++がないのは)++の動作が質的に「変数を操作する」ものであるため」とのこと。 なるほど。 変数はオブジェクトではない ++は += 1 すなわち「代入操作」である 代入操作はオブジェクトに対する操作ではなく、変数に対する操作である と理解しました。ということは「代入する」というメソッドはあり得ないのですね。 class Rubyco def =(x) end end Rubyco.new = 12345実行すると... a.rb:2: parse error, unexpected '=' def =(x) ^ a.rb:6: parse error, unexpected $, expecting kENDふむふむ。 ただし、配列の要素への代入はメソッドになりますね。これはいわばインスタンス変数への代入のようなものです

    rubyco(るびこ)の日記 - Rubyに++がない理由
    k1m
    k1m 2006/09/13
    理解してたけど " の動作が本質的に「変数を操作する」ものであるため" と改めて言われて思考が整理された気がする
  • CSDL | IEEE Computer Society

    k1m
    k1m 2006/09/13
  • XP Epsiode

    Chose Vacation RentalsTips for renting your Vacation Rentals Whether you are a tenant or a landlord, here are some practical tips to help you prepare your vacation. Booking a vacation rental The reservation of your holiday rental is made directly with the landlord. It is recommended to confirm your reservation by sending a rental contract and a deposit or deposit. The balance of the stay will be p

    k1m
    k1m 2006/09/13
    ちょうど某所(何処)で紹介されてたので。Robert C. Martin 氏による。
  • やねうらお―よっちゃんイカを買いに行ったついでに家を買う男 - オブジェクト指向ならこれを読め!

    今回は「オブジェクト指向ならこれを読め!」というを集めてみた。ただし、オブジェクト指向自体のプログラミングにおける役割というのは難しい。たとえば、現代であればクラスは再利用の単位としては粒度が適切ではないと考えている上級プログラマが多数いるはずで、それを補うためにAOPなりDIなりgenericsなりmix-inなりILP(Inductive Logic Programming:帰納論理プログラミング)なり何なりを用いる。 まあそんなわけで、オブジェクト指向自体にあまり深入りするのは得策ではないと私自身は考えているので、定評のある、是非これだけは押さえておきたいというだけを挙げておくことにする。 Bertrand Meyer氏の「オブジェクト指向入門」 これはさまざまな言語におけるオブジェクト指向のありかたを網羅的に書かれたで、教科書として定評がある。私も最初こので勉強させてもら

    やねうらお―よっちゃんイカを買いに行ったついでに家を買う男 - オブジェクト指向ならこれを読め!
    k1m
    k1m 2006/09/13
    このあとコメントを踏まえて何が増えるのかが楽しみ
  • 更新履歴兼雑記 - テクマクマヤコン @C++

    実行時に所属クラスを変える話の続き。前回は Objective-C だったけど今度は C++ でもやっておく。 http://d.hatena.ne.jp/shinichiro_h/20051231#1135964893 結局仮想関数テーブルを変えるだけなのでやることは一緒。 void become(const Base& o) { *(void**)this = *(void**)&o; }この時 const Base& o に渡す引数をあらかじめ sampleRight, sampleLeft として用意してるのがダサいです。消したきゃ _ZTV4Left + 8 と _ZTV5Right + 8 とかを使えば良さげ。 次回は気が向いたら C++ でポージング。 以下コードと実行結果。 #include <typeinfo> #include <stdio.h> using names

    更新履歴兼雑記 - テクマクマヤコン @C++
    k1m
    k1m 2006/09/13
    C でクラスチェンジ
  • JavaScriptっぽい。 JavaScript OOPなリンク集

    とりあえず自分で書いたのも含めて、後でゆっくり読みたいものなどを片っ端からリンク。選出基準は適当です。 JavaScriptっぽい。 prototype覚書 GAC なぜなにGAC->フォーラム->【JavaScript】 Functionで遊ぼう [教えて!goo] クラスの継承の仕方 オブジェクト(Object)(とほほ) JavaScript, Neo-Generation/Function 自作オブジェクトで複数のメソッドを呼び出したい Virgo - JavaScript - ユーザ定義オブジェクト ECMAScriptチュートリアル ECMAScript - on Surface of the Depth - Effective JavaScript - Dynamic Scripting オブジェクトなJSの基礎講座 プロトタイプチェインについての覚書(ECMAScript,

  • オブジェクト指向計算 - sumiiのブログ

    それはやはりFeatherweight Javaですよ。普及度というか引用数からしてバッチリ(死語)。クラスベースじゃなければAbadi-Cardelliのobject calculusだけど。

    オブジェクト指向計算 - sumiiのブログ
    k1m
    k1m 2006/09/13
    住井先生曰く OOL のモデルとしてスタンダードなもののひとつは Featherweight Java
  • Program -- ETX 2005

    k1m
    k1m 2006/09/13
    今年の ETX
  • http://www.rubygarden.org/ruby?ExampleDesignPatternsInRuby

    k1m
    k1m 2006/09/13
    ruby で GoF α のパターンを紹介
  • PHP: PHP 5におけるオブジェクトの比較 - Manual

    警告この拡張モジュールは、 実験的 なものです。この拡張モジュールの動作・ 関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 このモジュールは自己責任で使用してください。 PHP 5では、オブジェクトの比較はPHP 4よりも複雑になり、 オブジェクト指向言語で期待される動作により近くなります。 (PHP 5はオブジェクト指向言語ではありません) 比較演算子(==)を用いた場合、 オブジェクト変数は単純に比較されます。つまり、 同じ属性と値を有し、同じクラスのインスタンスである場合に 二つのオブジェクトのインスタンスが等しくなります。 一方、identity演算子(===)の場合、 オブジェクト変数は、同じクラスの同じインスタンスを参照する場合のみ 等しくなります。 これらの規則を明確にするための例を示します。 <?p

    k1m
    k1m 2006/09/13
    "PHP 5はオブジェクト指向言語ではありません"
  • Building user interfaces for object-oriented systems, Part 1

    Building user interfaces for object-oriented systems, Part 1 What is an object? The theory behind building object-oriented user interfaces This month, I had intended to leap directly into the implementation of an object-oriented user-interface (OOUI) implementation framework. Looking over what I was writing, however, I came to the realization that there was no point in talking about OOUI architect

    Building user interfaces for object-oriented systems, Part 1
    k1m
    k1m 2006/09/13
    そのうち読もうかなぁ
  • Java のクラスはオブジェクトじゃない?! -- t-wadaの日記

    ここ数日話題になっている 「10 Things Every Java Programmer Should Know About Ruby (邦訳)」 ですが、この文章の中の記述「Item #9 Everything is an Object」や、同じくJim Weirich氏の最近のプレゼン資料『Dependency Injection: Vitally Important or Totally Irrelevant?』の中の「Java Classes vs Ruby Classes」等の記述から生じるちょっとした語弊について、id:sumimさんの説明が非常にわかりやすかったのでメモします。(ちなみに、はてなブックマークから初めてポイントを送信してみました) 参考になるところを引用しようとすると全文引用に近くなってしまうので、ざっくりとメモします。ぜひ引用先(http://d.haten

    Java のクラスはオブジェクトじゃない?! -- t-wadaの日記
    k1m
    k1m 2006/09/13