タグ

ブックマーク / digitalsoul.hatenadiary.org (9)

  • レイヤとデータからみるDCIアーキテクチャの実装 - Digital Romanticism

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

    レイヤとデータからみるDCIアーキテクチャの実装 - Digital Romanticism
  • スクラムによるドメイン駆動設計 - Digital Romanticism

    ビジネスとソフトウェアの統合という観点から、スクラムとドメイン駆動設計の関係をとらえなおす。 導入 ここ数ヶ月は日スクラムにとって、おそらく非常に有意義な期間だったのではないかと思います。12月にJim Coplien氏による認定スクラムマスター研修、1月にGabrielle Benefield氏とJeff Sutherland博士による認定プロダクトオーナー研修が開催され、さらにInnovation Sprint 2011では野中先生とSutherland博士の対談までもが行われました。私は幸運なことに、これらのイベントにはすべて参加することができたのですが、そうやって学ぶことができた今では、スクラムのことを、一言で言うと「価値の流れを生み出すためのフレームワーク」ではないかというイメージを持っています*1。「フィードバック」や「改善」など、スクラムにとって重要な概念はいくつかありま

    スクラムによるドメイン駆動設計 - Digital Romanticism
  • DCIアーキテクチャの理論とGrailsによる実装 - Digital Romanticism

    第12回G*ワークショップにて行った講演のスライドと発表原稿 はじめに 11/9にJGGUG様主催にて第12回G*ワークショップが開催されました。そこで、「Model On Grails - DCIアーキテクチャへの道すじ-」と題しまして、DCIアーキテクチャについて講演させて頂きましたので、その際のスライドと発表原稿を公開します。 スライドはこちら アジェンダは以下の通りです。 導入 先駆者たちが遺したもの オブジェクト指向の死角 DCIアーキテクチャ サンプル 導入 今回のテーマは「DCIアーキテクチャ」です。日では、2010年の1月にJames O. Coplien氏が来日して講演したことで知られるようになりました。Googleグループのメーリングリストを見る限りは未だ黎明期にありますが、何か大きく化けそうな気配を漂わせていると言えるのではないでしょうか。 このDCIアーキテクチャ

    DCIアーキテクチャの理論とGrailsによる実装 - Digital Romanticism
  • ドメイン駆動設計入門 - Digital Romanticism

    "Beautiful Develpment"(10/27 DevLOVE)の講演資料と原稿 はじめに 日(10/27)、DevLOVE様主催で、"Beautiful Develoment"と題されたイベントが開催されました。これは「ドメイン駆動設計("DDD:Domain-Driven Design")」を題材に、入門から実践までを語り尽くすというコンセプトのものです。このイベントにおける講演のトップバッターとして、ドメイン駆動設計の根底にある基的な考え方についてお話しさせて頂きましたので、講演資料と原稿を公開いたします*1。 スライドはこちら アジェンダは以下の通りです。 導入 オブジェクトとは? モデルとは? ドメイン駆動設計とは? まずは、ドメイン駆動設計のベースとなっている、「オブジェクト指向」や「モデル」について整理した上で、実際にドメイン駆動設計とはどういうものかを見ていき

    ドメイン駆動設計入門 - Digital Romanticism
  • 組織パターン トップ10 - James Coplien - Digital Romanticism

    この記事はJames Coplien氏の記事「Organizational Patterns: Building on the Agile Pattern Foundations」を、氏の許可を得て翻訳したものです(元の記事が長いため抄訳としています)。(原文最終更新日:2006年7月9日) 目的の統一性("Unity of Purpose") 顧客の参画 ("Engage Customers") ドメイン専門家という役割 ("Domain Expertise in Roles") アーキテクトがプロダクトをコントロールする ("Architect controls Product") 作業の均等な分配("Distribute Work Evenly") 関数の所有者とコンポーネントの所有者 ("Function Owner and Component Owner") 雇われアナリスト (

    組織パターン トップ10 - James Coplien - Digital Romanticism
  • アーキテクチャを支える言語 - Digital Romanticism

    FowlerDSLのAlternative Computational Modelを足がかりとして、ソフトウェアアーキテクチャにおけるDSLの役割について考察する。 導入 Martin Fowler氏はWeb版DSLの中で、「DSLにおいて重要なのは、言語それ自体ではなく、DSLによって構築される意味モデル("Semantic Model")である」ということを繰り返し述べています(意味モデルについては、以前こちらのエントリで紹介しました)。その上で、この意味モデルが持ちうる、ある性質について「もう一つの処理モデル("Alternative Computational Models")」と題された章で説明されています。 ここで「もう一つの」("alternative")とされているのは、命令的な("imperative")処理に対する宣言的な("declarative")処理です。こう

    アーキテクチャを支える言語 - Digital Romanticism
  • Cassandraデータモデル入門 - Arin Sarkissian - Digital Romanticism

    この記事は、Arin Sarkissian氏のブログ記事「http://arin.me/blog/wtf-is-a-supercolumn-cassandra-data-model」を氏の許可を得て翻訳したものです。(原文公開日:2009年9月1日) ここ1、2ヶ月というもの、DiggのエンジニアリングチームはCassandraについて調べ、遊び、最終的にはプロダクションにデプロイするためにかなりの時間を費やしてきました。これは実に楽しいプロジェクトでしたが、楽しくなる前にCassandraのデータモデルについて理解するために相当の時間を費やしたのです。「'super column'って何だよ」というフレーズが何度も口にされました。 もしあなたのバックグラウンドがRDBMSならば(ほとんどみんながそうでしょうが)、Cassandraのデータモデルについて学ぶ際に、いくつかのネーミング規約で

  • 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
  • 1