タグ

oopに関するNagiseのブックマーク (13)

  • オブジェクト指向とは何だったのか? – ゆびてく

    オブジェクト指向とは何だったのか? – ゆびてく
  • 「検査例外はアジャイルやオブジェクト指向の考えに反するという事実」について一部誤解あり - かとじゅんの技術日誌

    追記: id:Nagiseさんからエントリいただきました。 というわけで、ややしつこく感じられるかもしれないけど誤りだと思うところはツッコミを入れさせてもらいます。人に恨みがあるとかそういうわけじゃなくて、説に用事があるってところをご理解いただければ幸いです。 こちらも建設的な議論をしたいと思っているので、もちろん、そのつもりです。 中間のクラスが〜という話題は、開放閉鎖原則を破って境界面に変更を加えた場合に話であって、検査例外が開放閉鎖原則を破るわけじゃない。 なるほど。よくわかりました。 目的と手段で分離してみた場合、「開放閉鎖原則」を「検査例外」を使って破っているだけであって「検査例外」自体の存在が「開放閉鎖原則」を破っているわけでない。「開放閉鎖原則」を破るのは「非検査例外」でもできるわけで、直接の因果関係は成立しないということですね。これは、私の論じ方に問題あったようです。ここに

    「検査例外はアジャイルやオブジェクト指向の考えに反するという事実」について一部誤解あり - かとじゅんの技術日誌
    Nagise
    Nagise 2010/01/16
    オブジェクト指向の考え方に反しているんじゃなくて、型システムの考え方と実用とのギャップの問題だよ。不当にOOPを貶める釣りタイトルはいただけないな。
  • MVC、お前もか - みねこあ

    MVC とは、もともとの出自は Smalltalk で、対話型のアプリケーションを作成するためのアーキテクチャのことでした。 Smalltalk なんて知らない人多いでしょうに、普通のプログラミングの話題でこうも顔をピョコピョコ出すのが、なんというか、憂いヤツです。そんな何かと気になるアイツこと、Smalltalk の MVC について、抜群にわかりやすいこちらの梅沢さんの記事をおすすめしておきます。 Happy Squeaking!! -オブジェクト指向再入門- [第五回:デザインパターン事始め] さて、こちらから引用して、MVC の M、V、C がそれぞれどんなモノかというと、 処理を受け持つ部分は、Modelと呼ばれます。アプリケーションで必要となる実際のデータを保持しており、業務に特化した処理を実行します。(中略) Modelの状態を表示する部分はViewになります。ビットマップデ

    MVC、お前もか - みねこあ
    Nagise
    Nagise 2009/10/19
    Modelを複数クラスに分割しているケースはよく見るかもしれない。Modelのうちデータ構造を担当する部分、そしてロジックを担当する部分。データとロジックが同居しないのでもはやOOP的設計なのかもわからないが
  • アラン・ケイのオブジェクト指向(Smalltalk)を誤解していたようです — ありえるえりあ

    Recent entries Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23 Herokuの発音 inoue 2010-12-20 雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18 IPA未踏のニュース inoue 2010-12-15 労基法とチキンゲーム inoue 2010-12-06 フロントエンドエンジニア inoue 2010-12-03 ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25 技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24 雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22 RESTの当惑 inoue 2010-11-22 「プ

    Nagise
    Nagise 2009/10/16
    「還元論的プログラミングを否定」なのかなぁ。抽象のさせ方は違うけど、フラクタル的な構造化というか抽象化というか還元論のように感じるのだけども。僕の読み方がおかしいのか?
  • ジェネリクス「指向」って胡散臭い - みねこあ

    「ジェネリクス指向」と言うのを、恥ずかしながら今まで全く聞いたことが無くって、それでその語感をすっごく胡散臭く感じてしまったのです。 まず、「なんとか指向」がどうも buzzっぽく感じて胡散臭い。そして、ダックタイピングすら出来ない 奇形OOPL が、漸くそれが出来るようになったとき、「俺っちてば、OOPを超えたぜっ」と中二病を発症したかのような印象を受けてしまってどうにも胡散臭いです。 Smalltalk派じゃないOOP の 祖(?)、C++ にしても確か「総称の実装は必須」と最初から言い切ってたし、メイヤー先生の OO も総称はあって当たり前って感じでしたし。宗派に依らず総称をOOP外のパラダイムと言ってしまうのは違和感を感じます。でも一方で、サブタイプによる多態しか持たない言語にとって、総称は新たなプログラミングテクニックですし、総称と多態は重なるけれど 同じものではないですし。だか

    ジェネリクス「指向」って胡散臭い - みねこあ
    Nagise
    Nagise 2009/07/13
    ジェネリクスを駆使してプログラムすることはできるけど、ジェネリクスとはなんぞと問われると困る。C++タイプのOO以外でジェネリクスってそもそもがナンセンスに思うけど、何がジェネリクスたらしめているのだろう?
  • 継承とコンポジット - 都元ダイスケ IT-PRESS

    id:happy_ryoに「わかんねーんだよ、説明してみろゴルァ」されたので、書いてみる。 前書き*1 とりあえず、日のエントリのキモを最初に。「オブジェクト指向は、隠す技術である」(俺談w)ということを意識して読んで見てください。隠すとは何か? 公開しすぎない事。分かりやすく言えば、publicをprivateに変える事。これが「隠す」。 んじゃあ、隠すと何が良いのか。あるクラスから、見えるもの(=操作できる可能性の範囲(scope))が狭ければ狭いほど出来る事のバリエーションが減るから、プログラムは単純になる。つまり、隠すと複雑性(complexity)が下がる*2。 要件を満たした上で、いかに型(class, interface, etc.)やメンバ(field, method)の可視性を落とすか。可能な限り可視性を下げ、プログラムを単純化し、メンテナンス性を上げるにはどうしたらい

    継承とコンポジット - 都元ダイスケ IT-PRESS
    Nagise
    Nagise 2009/05/20
    クラス群のうち、外に対して必要なもの以外を隠す、が今だとできないのが不満だなぁ。
  • つれづれ - みねこあ

    その67 日経ソフトウェアの今月号(6月号)の特集に「コレで納得!オブジェクト指向」という見出しが表紙にあって、ふと屋で立ち読みしました。内容的には「うーん」な感じ。 3部構成になっていたのですが、1部目がちょっと酷いです。だいたいが「オブジェクト指向でなぜつくるのか」の要約・・と言う流れなのですが、比べものにならない程劣化しています。だって、「とぶ」インターフェイスの実装として「飛ぶ」と「跳ぶ」という別の実装ができるのがポリモーフィズムだ、、、とか書いてあって、もう、どこから突っ込んだら良いのやら・・・orz 一方、続く2部目のほうは打って変わってまともな印象。アプローチとしてはDVDとのレンタルシステムを非OOPからOOPへ書き換えながら、OOPを説明する内容、ざっと見た限り問題はない、かな?コラムの方が好印象で、クラスの無いOOPLの存在や、継承の危険性とかに、一言触れたりで(な

    つれづれ - みねこあ
    Nagise
    Nagise 2009/05/11
    収斂進化がポリモフィズムの例ってのは面白い気がする。継承の木構造が網状になっちゃってうまく作れなくて困った話とか考えると殊更面白い表現
  • OOP用語ひとめぐり - みねこあ

    「素人でもわかりやすい」かどうか、素人には分からない。- うっくつさんを読む。さんに なるほど、と思いました。 「わかりやすい」とは「素人でもわかりやすい」の意。 「わかりやすい説明」を求める人はその分野に関して素人である。これは「素人」という言葉の定義に由来するものだ。「素人」である以上、その対象を厳密に理解することはできない。だから「わかりやすい説明」は掻い摘んだ概要説明となる。 (中略) 「素人でもわかりやすい」かどうか、素人には分からない。 これが最大の問題だ。しばしば言われるのとは逆だが、素人には自分が正しく読み取れたかどうか判断できないのだから、同語反復と言っても良いほどに正しい。 そのため、素人が言うところの「素人でもわかりやすい」は「読みやすい」に過ぎない。 「素人でもわかりやすい」かどうか、素人には分からない。- うっくつさんを読む。 ならば、ただ読みやすさだけを求め

    OOP用語ひとめぐり - みねこあ
    Nagise
    Nagise 2009/05/07
  • OOとはなにか - みねこあ

    自分の中でひっかがりを感じることを整理するため、なんとなく、こんな図を書いてみて、それからそれに文章を付けてみます。 マルが OOPやOOの名前、四角がそれを構成する要素・・・みたいな感じの適当な図です。また、赤の四角がプログラムの構造についての考え方、青の四角が型チェックについての考え方。用語や関係は適当です。(ご容赦) クラスには「型」と「モジュール」の、二つのとらえ方があります。メイヤー先生の「オブジェクト指向入門」から(artonさんをパクって)引用すると、 繰り返しになるが、クラスを型と見るか、またはモジュールと見るかによってすべては決まる。型として見る場合、継承はis-a(……は……の一種である)という関係であり、明らかに特殊化である。"犬"は"動物"よりも特殊な概念であり、"長方形"は"多角形"よりも特殊化されている。この関係はすでに述べた部分集合の関係に対応する。(中略)

    OOとはなにか - みねこあ
    Nagise
    Nagise 2009/01/21
  • オブジェクト指向談義 on Twitter - monjudoh’s diary

    今朝方Twitterでこのエントリを紹介したら、 オブジェクト指向談義が盛り上がったのでその議事録をば。 monjudoh とてもためになる読み物http://return0.dyndns.org/log/2008/08/10#s_2 monjudoh >「クラスベースのオブジェクト指向プログラミング言語はプロトタイプベースのそれの特殊ケースであり、プロトタイプベースは関数型言語で大抵はエミュレートできる、というか関数型言語のサブセットに近いと思ってる。」 nagise @monjudoh みねこあさんとこのエントリ読んでたら、自分の理解するOOPが実はOOPじゃないんじゃないかと思えてきて。 iratqq @monjudoh エミュレートは出来ても使い物になるものにするにはファーストクラスのマクロが必要で、つまりCL最強という話ですね、わかります。 deq @monjudoh クラスベー

    オブジェクト指向談義 on Twitter - monjudoh’s diary
    Nagise
    Nagise 2008/08/26
  • くまさんに質問するつもりで整理してみる - みねこあ

    なんかぐちゃぐちゃになってしまいました。sumimさん、ごめんなさい。 質問に出す前に、くまさんを目の前においてエントリーを書いてみよう。(くまさんは、実はいないから アリア社長に代理でいてもらおう) いったい何がしたかったの? オブジェクト指向でなぜ作るのか、や、憂を dis りたい。(ぉ このとき、「こういうのもOOPなんだよ」と、なんでも OOP 化が邪魔になる。 (うわ、イビルだ) もうちょっと具体的に 構造化定理を満たすもの(= 三大制御構造のみで書いてあるプログラム)を「構造化プログラミング」と定義すると、駄目なプログラムもその許容範囲に入ってきてしまう。 幸い、ダイクストラ先生は、三大制御構造のみを使うことを「ツール」と位置づけ、実際に構造化された良いプログラムを書くにはどうすればよいかを、「構造化プログラミング論」の中で丁寧に説明されている。上の定義は嘘800だと安心し

    くまさんに質問するつもりで整理してみる - みねこあ
    Nagise
    Nagise 2008/08/11
    自分の場合Javaで大量にプログラムして体得しているから、OOPを使うことはできても、何を持ってOOPとするのかは説明できない。論理的なというより、哲学的なところだけど、OOPって何?ってのをはっきりさせたいなぁ
  • Return 0

    return0.infoに移転。昔の日記はまんま残してるので読みたい人はどうぞ。 世界樹の迷宮関係のコンテンツは移行が面倒なのでこっちに残すことにした。 世界樹の迷宮プレイ記録 世界樹の迷宮IIプレイ記録 世界樹の迷宮IIIプレイ記録

    Nagise
    Nagise 2008/08/11
    静的OOPは「プロトタイプベースのそれの特殊ケース」というのが腑に落ちた。動的OOPはCとかでも扱えるから、流れていけば動的OOPありきで型システムで固めたのが静的OOPといった感じか。
  • OOコード養成ギブス - rants

    Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた

    OOコード養成ギブス - rants
    Nagise
    Nagise 2008/07/31
    省略はうちもさせないようにしているな。thisキーワードを省略させないだけでもかなり効果はある。
  • 1