タグ

dddに関するtlyncのブックマーク (37)

  • DDD for Rails Developers. Part 1: Layered Architecture. — SitePoint

    There are many kinds of complexity that you have to deal with developing software and different kinds of applications will have very different sets of problems you need to solve. If you are building the next Twitter, scalability and fault-tolerance are the problems you are probably fighting. On the other hand, these problems are almost never an issue when working on enterprise applications. The co

    DDD for Rails Developers. Part 1: Layered Architecture. — SitePoint
  • 2009-05-01

    まずは、設計・実装における Value Object を整理した方が良さそうなのでまとめてみました。 Value Object の設計方法としては、以下の3通りがあると認識しています。 # 仕事で主に使用してきた言語が C++Java なので、もし他にもあればご教示ください。 1. Singleton インスタンスを1つしか生成しないパターンです。 Java の enum がこれに該当します。 同一性は == で判定することができます。 2. 不変オブジェクト インスタンスが1度生成されたら、属性の変更を許可しないパターンです。 Java のプリミティブ型のラッパークラス(Integer など)、String、BigDecimal などが該当します。 Java の場合、hash と equals メソッドをオーバライドする必要があります。 3. スコープ外へ公開する際に複製する クラ

    2009-05-01
  • Practical DDD with Scala - An Introduction

    Practical DDD with Scala - An Introduction Document Transcript Cover Page Practical Domain-Driven Design with Scala An Introduction Ivan A Krizsan Version: February 17, 2013 Copyright 2013 Ivan A Krizsan. All Rights Reserved. Table of ContentsCover Page...........................................................................................................................................1Table o

    tlync
    tlync 2013/07/25
    まだ内容見てないけど 183P の超大作がフリーで公開されてる
  • DDD eXchange 2013 | Skills Matter

    tlync
    tlync 2013/06/25
    DDD eXchange 2013 の講演一覧。podcast も公開されてる
  • How to write a Repository

    tlync
    tlync 2013/06/12
    DDD における Repository の命名や実装について。確かになんとかRepository って名前のつけかたはユビキタス言語ではないよな
  • ドメイン駆動設計を行うチームへの文書化ガイド

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    ドメイン駆動設計を行うチームへの文書化ガイド
    tlync
    tlync 2013/06/04
    DDDをやっているチームがどんな種類のドキュメントを作るべきか
  • ユビキタス言語とドメインモデル、そしてモデル探求うずまき - じゅんいち☆かとうの技術日誌

    最近、ドメイン駆動設計ってどうやって実践すればいいかなーという質問をよくされるので、この記事が満額回答にはならないと思いますが、書いてみたいと思います。 シンプルな問題はトランザクションスクリプト、いわゆる手続き型で対処できます。問題が小さいのでコードは直接的でわかりやすくなる傾向にあります。 とはいえ、世の中の問題はシンプルなものばかりじゃない。複雑な問題もある。DDDの著者であるEric氏は、複雑な問題はドメインモデルを使って対処すべきと説く。 ドメインとは問題の領域とか知識の範囲をいうのですが、DDDはそのドメインにある概念をモデル(ドメインモデル)として定義して、さらに実装として紐付けていく設計手法です。 モデルクラスは概念ありき 例えば、電車にまつわるドメインというので考えたとしたら 電車 乗客 駅 ダイア などの概念が登場します。 現実世界に限った話ではなく、仮想世界でもドメイ

    tlync
    tlync 2013/05/08
    うずまきはやり方を間違えなければアジャイルプロセスとも相性がいいと思う。Eric の動画もオススメ > Folding together DDD & Agile http://bit.ly/9JA0Ru
  • Repository Pattern: how to Lazy Load? or, Should I split this Aggregate?

    I have a domain model that has the concept of an Editor and a Project. An Editor owns a number of Projects, and a Project has not only an Editor owner, but also a number of Editor members. Therefore, an Editor also has a number of "joined" Projects. I am taking a DDD approach to modelling this and using the Repository pattern for persistence. However, I don't grok the pattern well enough yet to de

    Repository Pattern: how to Lazy Load? or, Should I split this Aggregate?
    tlync
    tlync 2013/01/21
    DDD の Repository パターンでは、Lazy Loading とどう向き合うかという話し。Repository のインターフェースをわりきった設計にするか、VirtualProxy みたいなパターンで対応するか、みたいな感じかな。
  • 結構大事なアグリゲートについてもう少し考えてみる - かとじゅんの技術日誌

    ちと、小難しい話になります。DDDの話なんで、 コードで学ぶドメイン駆動設計入門 〜アグリゲート編〜 - じゅんいち☆かとうの技術日誌 でも取り上げたアグリゲートに関する考察です。どうあるべきかはちょっと分かっていません。これを読んでこうしたらよいのでは?と思う方、意見歓迎です。インターネットって一方だと面白くないので議論したいですね。 アグリゲートってライフサイクルの境界を扱うための設計パターンです。ライフサイクルで思い出すのはリポジトリとファクトリ。この二つのオブジェクトが扱うのがアグリゲートです。ライフサイクルは至るところに出てくるので、結構大事で、設計の根幹に影響するオブジェクトのひとつではないかと思います。 アグリゲートは、内部のエンティティやバリューオブジェクトを集約している境界で、その境界はエンティティであり、ルートエンティティと呼ばれる。 グローバルな同一性を持つエンティテ

    結構大事なアグリゲートについてもう少し考えてみる - かとじゅんの技術日誌
    tlync
    tlync 2013/01/05
    DDD 復習してて集約がちょっと良くわからん…と思ってググってみたら、 案の上えろい加藤さんの記事がひっかかり、コメント欄が自分の DDD に対するモヤモヤそのままでくっそ参考になった
  • DDD 20121106 SEA Forum November

    ドメイン駆動設計 モデリング/実装ガイド https://little-hands.booth.pm/items/1835632 発売記念に、書の1,2章の内容を中心にDDDの概要について解説する勉強会です。

    DDD 20121106 SEA Forum November
    tlync
    tlync 2012/11/07
    "ドメイン駆動設計実践ガイド"
  • Domain Driven Design

    The main goal of Domain-Driven Design is to combat the complexity of business processes, their automation and...Read More

    tlync
    tlync 2012/05/18
    地味に更新されてる DDD コミュニティサイト。Eric 本人のビデオもちらほら。すごいゆっくり喋ってるので聴きやすい
  • Home

    What is Flow?Flow is a PHP web application framework focussed on Domain-Driven Design and clean code. Based on strong conventions and best practices, it allows you to rapidly create powerful web applications. Created with love by the Neos project. The photo at the top (by Astris1, CC-BY-SA 3.0) shows a Lorimerlite structure, the strongest isotropic truss for resisting compression. Similar to Flow

    Home
    tlync
    tlync 2012/05/02
    全然聞かない名前だけど DDD のエッセンスが反映されていて、ぱっと見良さげだな。DI, AOP とかもサポートしてる
  • Pursuing Domain-Driven Design practices in PHP

    How to implement DDD with PHP 5 and Doctrine.Read less

    Pursuing Domain-Driven Design practices in PHP
  • DDD Sample Application - Introduction

    Cargo freighter passing under the Golden Gate bridge in San Fransisco. Image courtesy of FreeFoto.com. One of the most requested aids to coming up to speed on DDD has been a running example application. Starting from a simple set of functions and a model based on the cargo example used in Eric Evans' book, we have built a running application with which to demonstrate a practical implementation of

    tlync
    tlync 2012/01/22
    DDD のサンプルコード "Starting from a simple set of functions and a model based on the cargo example used in Eric Evans' book"
  • 賢いデータは必要なのか (arclamp.jp アークランプ)

    きっかけは、「オブジェクトからサービスへ」というエントリに対して、通りがかりさんからコメントいただいたことだった。これまで、長い間、もやもやしたものを感じていたのだ。 オブジェクト指向のを紐解くと、データと振る舞いをクラスにカプセル化すると書かれている。僕も疑問は、そもそも、それが正しいのか、つまり、データに振る舞いを持たせる必要性があるのだろうか?賢いデータは必要なのか?ということだ。 Javaでは、データと振る舞いの分離が進んでいる まず、現状として、Javaの世界では、データと振る舞いの分離が大きくすすんでいる。EJBにしても、EntityBeanとSessionBeanというのは、データと振る舞いの関係にあり、分割がよいこととされている。さらに、O/Rマッピングツールが流行するにつれ、データの保持クラスはPOJOとなった。一方、ビジネスロジックは、FacadeやServiceと

  • 『ドメインモデルに対する日米の温度差』

    マーチン・ファウラー氏によれば、アプリケーションの中核部であるビジネスロジックを構築する方法には、Transaction ScriptパターンとDomain Modelパターンの2通りがあるという。Domain Modelパターンは、データと振る舞いを1つのオブジェクトにまとめ、オブジェクト指向のテクニックを駆使するやり方だ。一方のTransaction Scriptパターンでは、データと振る舞いは別々のオブジェクトに分け、振る舞いをスクリプト的に淡々とプログラミングしていく。 日ではTransaction Scriptが優勢 この2通りのうち、日ではTransaction Scriptパターンの方が優勢だ。日のオピニオンリーダーも軒並みTransaction Scriptを薦めている。 たとえば、Seasarの開発者であるひがやすを氏は、古くからデータと振る舞いを分離するアプローチ

    『ドメインモデルに対する日米の温度差』
  • [ 技術講座 ] Domain-Driven Designのエッセンス 第1回|オブジェクトの広場

    DDD難民に捧げる Domain-Driven Designのエッセンス 第1回 ドメイン駆動設計とは 株式会社オージス総研 アドバンストモデリングソリューション部 佐藤 匡剛 Domain-Driven Design Tackling Complexity in the Heart of Software Eric Evans 著 Addison-Wesley, 59.99ドル 560ページ ISBN: 0-321-12521-5 「ドメインモデリング」は、アプリケーション開発において最も重要な部分だとされています。しかしその割には、フレームワークの使い方やアーキテクチャの設計方法など技術に関する解説書はたくさんあるものの、ドメインモデリングそのものを扱った書籍はほとんど無かったと言ってもいいでしょう。Eric Evansの『Domain-Driven Design』(以降DDD)は、「