Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

dciに関するyujioramaのブックマーク (13)

  • DCIアーキテクチャについて語ってみるよ - uehaj's blog

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

  • DCI を考える #2 - 鳩舎

    追記 まじで鳩さんのスライドでDCIについて理解したつもりになるの危険だからやめた方がいいです。せめて d.hatena.ne.jp/digitalsoul/20… を読みましょう。DCIはエンドユーザのメンタルモデルを実装に落とし込むための設計パラダイムです— Naoto Takai (@takai) December 27, 2012 ということで、以下の内容はすべて間違いである可能性が高いです。 元記事 これまでのあらすじ: ActiveStrategy はイマイチなアプローチだよね。 文脈によって可能な挙動が変わり、モデルは基的にデータのみを持つことでクリーンな状態を保とうといっているのに、便利な include を提供する ActiveStrategy はやはりイマイチなアプローチで、挙動の切り分けが容易になるのはいいことだけれど、それって今までの include 地獄から何も

    DCI を考える #2 - 鳩舎
  • DCI を考える - 鳩舎

    追記 まじで鳩さんのスライドでDCIについて理解したつもりになるの危険だからやめた方がいいです。せめて d.hatena.ne.jp/digitalsoul/20… を読みましょう。DCIはエンドユーザのメンタルモデルを実装に落とし込むための設計パラダイムです— Naoto Takai (@takai) December 27, 2012 ということで、以下の内容はすべて間違いである可能性が高いです。 元記事 Data - Context - Interaction いわゆる DCI が最近の人気らしい。 DCI そのものの説明をこのエントリでする気はないので、 Sapporo Ruby Kaigi の角谷さんのプレゼンなどを見るとよい。 Rails の場合、 Data はまぁ ActiveRecord / Mongoid などのいわゆる MVC におけるモデル、であっていると思う。これに

    DCI を考える - 鳩舎
  • DCI with Ruby Refinements :: Mike Pack Development

    Note: This website has been deprecated and is no longer maintained. TL;DR - Have your cake and eat it too. Ruby refinements, currently in 2.0 trunk, can cleanly convey DCI role injection and performs right on par with #include-based composition. However, there's some serious caveats to using refinements over #extend. Recently, refinements was added to Ruby trunk. If you aren't yet familiar with re

  • MarcGrue.com | DCI Sample

    The famous DDD Sample application demonstrates how you can implement a complex domain (shipping cargos) according to Domain Driven Design principles and the current object-oriented (or class-oriented) programming paradigm. By coding the same cargo example according to DCI principles we can compare the new paradigm with the old/current and get a sense of what the DCI paradigm can offer us. There’s

  • DCI language comparison

    Tätä selainversiota ei enää tueta. Päivitä tuettuun selaimeen.

    yujiorama
    yujiorama 2010/12/12
    DCI の特徴の言語別比較
  • DCIによるWebアプリケーション - 3:Cassandra - Digital Romanticism

    Cassandraを使用して割り勘アプリケーションの永続化レイヤを実装する。 導入 割り勘アプリケーション実装の第2部では、WebフレームワークとしてWicketを使用し、傾斜つきの割り勘計算がとりあえず行える所までを実装しました。しかし、データはメモリ上で保持しているだけで、永続化レイヤの実装は課題となっていました。そこで今回はCassandraを使用して永続化レイヤを実装していきます。 バックナンバー DCIアーキテクチャによるWebアプリケーションの実装:ドメインレイヤ DCIによるWebアプリケーション - 2:アーキテクチャ 永続化レイヤの実装 前回使用したアーキテクチャの概要図を再掲します。 ここまでDIコンテナの使用は意図的に避けてきましたが、外部リソースへのアクセスが必要になった所で使うことにします(Guice-2.0)。DIコンテナを使う場合、オブジェクトのウィービングを

    DCIによるWebアプリケーション - 3:Cassandra - Digital Romanticism
  • レイヤとデータからみるDCIアーキテクチャの実装 - Digital Romanticism

    DCIアーキテクチャに従ってCRUDアプリケーションを実装する際のポイントを整理する。 導入 Trygve Reenskaug氏によって提唱され、主にJames O. Coplien氏によって理論的な確立と普及が進められているDCIアーキテクチャですが、まだ実装事例はそれほど多くありません。このブログではこれまで「割り勘」を題材にDCIアーキテクチャに基づくCRUDアプリケーションを実装しつつ、アプリケーションの全体像について考察してきました。今回は割り勘アプリケーションをふりかえりつつ、もう少し実装の詳細について考えていきます。 アプリケーションレイヤ アプリケーションレイヤとはDDDにおいて説明されているレイヤの1つで、ドメインレイヤを薄くラップし、タスクに応じて適切なドメインロジックの呼び出しを行うという責務を与えられています。 アクションクラス 具体例として、割り勘アプリケーション

    レイヤとデータからみるDCIアーキテクチャの実装 - Digital Romanticism
    yujiorama
    yujiorama 2010/08/30
    丁寧な説明
  • Pay your bills with DCI – Thomas Moerman

  • DCIアーキテクチャによるWebアプリケーションの実装:ドメインレイヤ - Digital Romanticism

    DCIアーキテクチャを用いて、割り勘の計算を行うWebアプリケーションを実装する。 導入 前回のエントリでは、DCIアーキテクチャの思想に基づき、試験的にドメインレイヤを実装しました。今回からはその発展編として、DCIアーキテクチャによるWebアプリケーションについて、数回に渡り検討していきます。言語はScala、WebフレームワークとしてはWicketを使用します。なお、データは今のところメモリに保持することとし、永続化層の実装については後日検討することにします。初回の今回はドメイン層をターゲットとして設計について考えていきます。 割り勘アプリケーション 要件 これから実装していくのは「割り勘アプリケーション」です。前回でも使用していたSharePieの概念を身近な形で引き継いだものですね。使用される状況は以下のようなものを想定しています。 飲み会の清算は等分ではなく、役職に応じて「傾斜

    DCIアーキテクチャによるWebアプリケーションの実装:ドメインレイヤ - Digital Romanticism
  • DCIアーキテクチャの実装:ローンシンジケート - Digital Romanticism

    DCIアーキテクチャの概要を整理した上で、DDDに登場するローンシンジケートを用いたサンプル実装を示す。 DCIアーキテクチャの概要 Trygve Reenskaug氏とJames O. Coplien氏によるDCIアーキテクチャの構想は、「DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien」にて解説されています。ここでは、オブジェクト指向の質が人間のメンタルモデルを捉えることにあるとした上で、オブジェクト指向の問題点とその解決方法が語られます。オブジェクト指向の問題とされているのは、構造を捉えることに長けている反面、ふるまいをとらえることが苦手であるという点です。具体的には、特定のふるまいをどのクラスにおくべきか悩んだり、エンティティクラスが大量のメソッドで肥大化してしまうといったことが挙げられるでしょう。 この問題に対する解決は、オブ

    DCIアーキテクチャの実装:ローンシンジケート - Digital Romanticism
  • 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
    yujiorama
    yujiorama 2010/07/19
    ユーザの考える概念をプログラミングにも取り込もうとする、というか、実装の上位概念として前提にする、というか
  • Trygve/BabyIDE

    yujiorama
    yujiorama 2010/06/29
    DCIパラダイムをサポートした実験用IDE
  • 1