タグ

dciに関するkeyesberryのブックマーク (4)

  • DCI(Data-Context-Interaction)からASI(Actor-Scene-Interaction)へ - ずっと君のターン

    あ、タイトルは釣りというか、なんかそれっぽいこと書きたかっただけです。ごめんなさい。 世間から3周くらい遅れてDCIというものの存在を知って、今さらネットで記事をあさって読んでたりします。この辺とか。 http://d.hatena.ne.jp/digitalsoul/20100131/1264925022 http://uehaj.hatenablog.com/entry/20100528/1275011951 https://speakerdeck.com/kakutani/dci-sprk2012 http://mikepackdev.com/blog_posts/24-the-right-way-to-code-dci-in-ruby これらをいい加減に読んで、考えたのではなく感じたことをまとめると 従来よく利用されてきたMVCというアーキテクチャだとユーザーのメンタルモデルと齟齬

    DCI(Data-Context-Interaction)からASI(Actor-Scene-Interaction)へ - ずっと君のターン
  • 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
  • DCIアーキテクチャについて語ってみるよ - uehaj's blog

    Trygve Reenskaug氏とJames O. Coplien氏らが提唱する「DCIアーキテクチャ」について、id:digitalsoulさんが論文を翻訳してくださり、またその解説とサンプル実装(groovy, scala)を示してくださっており、読んでみたところ、大変興味深いので理解した限りを書いてみます。 おじさん登場 たとえば、あるおじさんがいたとします。 このおじさんは、白いスーツ、グラデーションの入ったサングラスと金ぴかのネックレスをつけて新宿歌舞伎町に出かけ「やくざ」として振るまいます。とおりかかったお兄さんがそのおじさんに出会い、目が合ってしまい、因縁を付けられ、お金を巻き上げられてしまいます。 さて、おじさんは家に帰ります。実は、このおじさんは家では良いお父さんとして振る舞います。赤ちゃんはこのおじさんの目を見て笑いかけます。おじさんは相好を崩し、オーよしよし。 さて

  • The Right Way to Code DCI in Ruby :: Mike Pack Development

    Note: This website has been deprecated and is no longer maintained. Many articles found in the Ruby community largely oversimplify the use of DCI. These articles, including my own, highlight how DCI injects Roles into objects at runtime, the essence of the DCI architecture. Many posts regard DCI in the following way: class User; end # Data module Runner # Role def run ... end end user = User.new #

  • 1