タグ

oopに関するR-Kのブックマーク (4)

  • 「変更しやすい」ことが、良い設計 (EoC=Ease of Changing) - An Agile Way [ITmedia オルタナティブ・ブログ]

    前回は、EoT(Ease of Testing: テスト容易性)によってよいオブジェクト指向設計を再定義したい、という表明をした。今回は、二目のナイフを抜きたい。キーワードは、EoC(*1)(Ease of Changing)、変更容易性だ。 この記事では、 EoCの高い設計が、よいオブジェクト指向設計である。 と主張したい。設計品質の中で、「変更容易性(EoC)」を最上位と見る。 ここ10年のオブジェクト指向の最大の失敗は、「再利用性」をその最大の価値、として説明しようとしてきたこと。そして分かったことは、再利用がその努力コストに見合う効果がでることは極めて稀であること、また、テクノロジではなくソーシャルな活動が再利用に効くこと、さらに、コードの再利用ではなく、ナレッジの再利用(例えばパターン)の方が、まだ可能性があるということ(少なくとも2005年のコンテクストでは)。 再利用性では

    「変更しやすい」ことが、良い設計 (EoC=Ease of Changing) - An Agile Way [ITmedia オルタナティブ・ブログ]
  • 「テストしやすい」ことが、良い設計(EoT=Ease of Testing) - An Agile Way [ITmedia オルタナティブ・ブログ]

    良い設計とはなにか、と問われて、凝集度と結合度に関する議論を思いつく人も多いだろう。しかし、この定義によりもっと具体性がある設計方針として、テストを考える。テストの視点によってオブジェクト指向を再定義したい。キーワードは、Eon(Ease of Testing)、テスト容易性だ。 ぼくは、 EoT(*1)の高い設計が、よいオブジェクト指向設計である。 と主張する。設計品質の中で「テスト容易性(EoT)」を最上位と見るのだ。オブジェクト指向のさまざまな機構、用語、考え方は、すべて EoT のため、と捕らえられる。例えば、

    「テストしやすい」ことが、良い設計(EoT=Ease of Testing) - An Agile Way [ITmedia オルタナティブ・ブログ]
  • Java のクラスはオブジェクトじゃない?! - Smalltalkのtは小文字です

    関連:id:sumim:20040525:p1 keisuken さんの 航海日誌 発、babie さんの 遅レス 経由で、オライリーのオープンソースコンベンション(OSCON 2005)のセッション「10 Things Every Java Programmer Should Know About Ruby」(スライド、brazil さんの和訳)で語られた「Item #9 Everything is an Object」から生じる語弊について。 そうですね。これではまるで Java のクラスがオブジェクトではないかのように読めますし、そうだとすれば(オブジェクトに定義にもよりますが、おそらく)間違いでしょう。ただ、文脈をたぐると、ここでの Jim Weirich さんの主張は「(Ruby において)“Array”は、Array というクラス(を実現した)オブジェクトを束縛した定数(に過ぎ

    Java のクラスはオブジェクトじゃない?! - Smalltalkのtは小文字です
  • 初心者でも使えてプログラマでも困惑するJavaScript - 檜山正幸のキマイラ飼育記 (はてなBlog)

    昨日に続いてJavaScriptネタ。 JavaScriptは誰でもすぐ使えるように工夫されている -- これは嘘ではないでしょうが、最初の敷居が低いから「やさしい」とは言えないようです。僕自身と少数の事例からは、C、C++Javaなどの“普通の”言語に慣れていても、JavaScriptには違和感・抵抗感を感じて、わず嫌いで手を出さないとか、かじったが放り投げるとか、… どうも「むずかしい」みたい。 実行環境が主にブラウザというのがまず異質ですが、この点は置いといて、言語仕様と言語処理系の観点から、JavaScriptの「むずかしさ」(と魅力)を述べたいと思います。 ●徹底的にオブジェクト的 JavaScritは、クラス、継承、情報隠蔽機構などを持たないので、まがい物の、あるいは中途半端なオブジェクト指向言語と思われているようです。そもそも、「何がオブジェクト指向か」って議論が不毛だか

    初心者でも使えてプログラマでも困惑するJavaScript - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 1