タグ

dddに関するyojikのブックマーク (16)

  • モデルが息づく場所 - Digital Romanticism

    "Domain-Driven Design"におけるドメインモデルの性質について簡単にふりかえった上で、そのドメインモデルが位置づけられる領域について整理する。 導入:ドメインモデルとは DDDにおける主要な主張は、ソフトウェアが対象とする領域(ドメイン)についてのモデリングを正確に行った上で、それをソースコードにおいて表現するというものでした。ドメインモデルとはつまり「ドメインについてのモデル」なのですが、これは実体としてアプリオリに存在するものではなく、「現実を解釈することによって、目の前の問題を解決する上で重要となる側面を抽象化したもの」(p.2)、あるいは「ドメインエキスパートの知識が厳格に組織され、選択的に抽象化されたもの」(p.3)とされてます。つまり、現実世界を写し取ったものではなく、ある特定の視点に基づいて世界を切り取ったものである、ということですね。もちろん、ここで言われ

    モデルが息づく場所 - Digital Romanticism
    yojik
    yojik 2010/03/19
  • Domain Events – Salvation

    Domain Events – Salvation

    yojik
    yojik 2009/12/18
  • domaindrivendesign : Message: Ok for Entity to know about the repository?

    yojik
    yojik 2009/05/21
  • 『[お知らせ] S2DomainModel リリース』

    S2DomainModel 0.1をリリースしました。S2DomainModelは、Seasar2でドメインモデルやDDDの実装をサポートするためのライブラリです。 http://ouobpo.sourceforge.net/s2domainmodel/ 前回のエントリ「DIコンテナとドメインモデルの相性の悪さ」で書いたとおり、ドメインモデルの中で直接生成されるドメインオブジェクト(= Entity + Logic)に他のオブジェクトをDIすることは設計上難しく、ドメインモデルの自由な設計が阻害されてしまいます。そのため、DIコンテナを使った開発では、リッチなドメインモデルは敬遠されがちです。 S2DomainModelは、この相性問題を解決するためのライブラリです。ドメインオブジェクトにDIできる仕組みを提供することで、DIコンテナを使った、より自由なドメインモデル構築を可能にします。

    yojik
    yojik 2008/05/09
  • ドメインロジックの実装方法とドメイン駆動設計 :: handsOut.jp

    スライド1: BPStudy 第7回 2008年3月28日ドメインロジックの実装方法とドメイン駆動設計Ouobpo佐藤 匡剛http://ameblo.jp/ouobpo スライド2: もくじ・ 第Ⅰ部 ドメインロジックの実装方法・ 第Ⅱ部 ドメイン駆動設計の紹介2008/03/28 BPStudy 第7回 2 スライド3: 第Ⅰ部ドメインロジックの実装方法2008/03/28 BPStudy 第7回 3 スライド4: 3層アーキテクチャ・ エンタープライズアプリの典型的アーキテクチャプレゼンテーション層 ドメイン層 インテグレーション層アクションアクションアクションWebアプリFWサービスレイヤーPOJOPOJOPOJO POJOルールエンジンワークフローエンジンDI/IoCコンテナDAODAOインテグレーションゲートウェイデータアクセスFWシステム間統合MWFW ・・・ フレーム

    yojik
    yojik 2008/04/01
    GJ!
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    yojik
    yojik 2007/10/12
    ドメインオブジェクトにサービスをインジェクト可能なライブラリ(実際は、内部でバイトコードを書き換えて、はサービスをルックアップしている)
  • ドメインモデル駆動開発をやってみる(4) - 開発思考実験日記

    ユースケースコントローラのサービス化 前回ドメインモデルを実行する実装非依存の抽象化エンジンを作成しました。今回はこのアイデアをさらに拡張して、ユースケースコントローラをサービス化して利用するシナリオを考えてみます。 目標となるシナリオは、登録されたユースケースコントローラのサービスを取得し、採番された伝言を作成し、伝言を登録して、コールバックの確認を行うというものです。かなりアプリケーション機能に近いレベルの機能を実装していますが、ドメインモデルやユースケースコントローラはPlainなObjectのみで構成しています。 [TestInitialize()] public void MyTestInitialize() { messageModelRuntime = new ModelRuntime(); messageModelRuntime.AddService(new SimpleM

    ドメインモデル駆動開発をやってみる(4) - 開発思考実験日記
    yojik
    yojik 2007/08/30
    ドメインモデルにコントローラを含むことによって、よりリッチなロジック実行能力をもたせる
  • ドメインモデル駆動開発をやってみる(2) - 開発思考実験日記

    ドメインモデルと言えるかは?の点はありますが、前回の伝言メモのユースケースをモデル化して実装してみます。 ユースケースのモデル化 ユースケースをモデル化する方法として直ぐに思いつくのが、アクティビティ図やフローチャートで、.NETであればWFを使って実行可能なモデルを作成できます。ただ単純に低レベルのコンポーネントを使ってWFを作成するとモデルというよりはプログラミングになってしまいます。このため、より抽象度の高いビジネス上の意味のあるアクティビティを定義してワークフローを作成してみます。このアクティビティはコーヒーブレイクテストのレベルの粒度をイメージしています。 コーヒーブレイクテストとはユースケースの一連の作業のうち各作業の間にコーヒーブレイクができるかどうかを考え、ブレイクできないものは1つの塊として考えるようにすることです。コールバックや確認はコーヒーブレイクできないので1つの塊

    ドメインモデル駆動開発をやってみる(2) - 開発思考実験日記
    yojik
    yojik 2007/08/30
    WFを使うことによってコントローラがシンプルになる
  • 状態変化するエンティティの管理はどこですべきか? - 開発思考実験日記

    エンティティ自体が状態値をもつのが第一候補でしょうが、アプリケーションやビジネスフローのコンテキストで管理したい場合もあります。前者の例としては図書システムの貸出中などでエンティティが質的にもつ状態値で、後者であればデータ編集処理における排他を目的とした編集中フラグなどのアプリケーションが一時的に取り扱う状態などです。 この2つの使い分けなのですが、案外頭を悩ませます。伝言モデルにおいても伝言の状態として伝言エンティティに状態値をもたせるアイデアはあるのですが、この状態値のバリエーションがアプリケーションロジック(ユースケースコントローラ)の実装にかなり依存してしまいます。ユースケースのフローで"コールバック待ち"や"確認待ち"があればそれらを状態値として扱うことになるのですが、このフローが変化すると状態値のバリエーションも変化してしまいます。状態値がエンティティではなくユースケースに強

    状態変化するエンティティの管理はどこですべきか? - 開発思考実験日記
    yojik
    yojik 2007/08/29
    状態とEntityの関係 長年の課題
  • ドメインモデルをLINQで構築する - 開発思考実験日記

    まだまだLINQについて調べたいことはたくさんあるが、とりあえず、いくつかのドメインモデルのパターンを作成したので振り返りまとめとします。 ORMとしてLINQ to SQL 一言でいってよくできたORMフレームワークです。 Expression TreeをSQLに変換するアイデアは、直前まで実行を遅延することができより的確なSQL文を発行できる点や、Expression TreeをQuery Objectとしてビジネスロジックで検索条件を記述でき・しかも型付きである点などは便利だと感じました。また、オブジェクト更新などのトラッキング機能や今回書きませんでしたがオブジェクトのキャッシュ機能など細かな点もよく考えられています。個人的には複数のテーブルにまたがるオブジェクトの読み出しや永続化のより細かな制御が行えるようにもう少し強化してもらいたい点はありますが汎用的なORMとしてはこのあたりが

    ドメインモデルをLINQで構築する - 開発思考実験日記
  • 遅延ロードを避ける - 開発思考実験日記

    シンプルなドメインモデル実装 ドメインモデルを作成するときに、遅延ロードを利用すると、データアクセスのコストやロック、トランザクションなど様々なことを意識する必要がありかなり難しくなります。ドメインモデル実装が難しいという方の意見としても遅延ロードを上げる方が多いように思います。逆に考えれば、遅延ロード機能を利用しなければかなりシンプルに実装することが可能になるということです。 リーズナブルなデータアクセス 遅延ロードを利用すると、関連データをアクセス時までモデルに読み込みことを保留することで不必要なメモリ消費や余計なデータアクセスを避けるメリットがあります。逆に遅延ロードを利用しないと大量のメモリと多くのデータアクセスを引き起こす可能性があります。なので、遅延ロードを避けるのであれば、この点についてうまい方法が必要になります。明らかに不必要なデータを読み込むことを避け、必要と予想されるデ

    遅延ロードを避ける - 開発思考実験日記
    yojik
    yojik 2007/07/29
    考え中
  • bliki: Evans Classification

    In his excellent book Domain Driven Design, Eric Evans creates a classification of the different kinds of domain objects that you're likely to run into. Entity: Objects that have a distinct identity that runs through time and different representations. You also hear these called “reference objects”. Value Object: Objects that matter only as the combination of their attributes. Two value objects wi

    bliki: Evans Classification
    yojik
    yojik 2007/07/05
    DDDのServiceはPofEAAのサービスレイヤとは違うぜというお話
  • Error

    Your request could not be completed. Either the site is offline or an error occurred. Please try your request again or if you know who your site administrator is let them know too. Sorry for any inconvenience this may have caused you.

    yojik
    yojik 2007/03/08
    DDDにおけるリポジトリのスタイル
  • Jimmy Nilsson's Weblog

    Jimmy Nilsson's Weblog Patterns, OO, DB, .NET, ... Steve Maine continues his very interesting series about a DDD style here, here, here and here. Steve Eichert does the same here and here. As I said in my previous post, my current favorite style is a bit different to this which is why I want to describe some differences again since it will help me challenge the solution I'm using now. The life cyc

    yojik
    yojik 2006/05/12
  • 十分pk10-十分pk10登录

    十分pk10(www.emxsoftware.com)是现在博彩娱乐平台中非常受欢迎的一个平台,这里主要提供的是老虎机类的游戏,分别有十分pk10和十分pk10都是值得喜欢老虎机的朋友进行关注的,因为这两个都是经过了长期的考验的。

  • dddcommunity.org | Domain Driven Design Community

  • 1