[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

DDDに関するt_43zのブックマーク (27)

  • 0063 号 巻頭言

    DDD を理解したいあなたのための DDD 入門以前 Rubyist Magazine 63 号をお届けする。 突然のお知らせで恐縮だが、日 Ruby の会の主たる事務所が東京から北海道に移転した。それもあってあまりまとまった時間がとれず、11 月のうちに書くはずだったのが気がつくと 12 月も半ばを過ぎていたので、今回は以前書きかけていた文章を発掘してお茶を濁したい。 Ruby とは直接関係がなくて恐縮だが、Ruby に限らずソフトウェア開発では現在でもちょくちょく話題になることがある、DDD についての話である。 ドメイン駆動設計こと DDD は 2020 年代のソフトウェア開発でもよく話題にされるが、率直に言うとストレートにポジティブな評価が行われているとは言い難い。 どちらかというと、ある種マニアックで、対象分野が制限されており、また初心者にはとっつきにくいところがある手法と思わ

    t_43z
    t_43z 2024/01/10
  • DDDリファレンス 定義とパターン概要 (鋭意修正中, CC-BY)

    Eric Evans "Domain-Driven Design Reference -- Definitions and Pattern Summaries" の日語訳です。なかなか見直しと修正(推敲)が終わらないので、とりあえず公開してみます。 https://www.domainlanguage.com/ddd/reference/ ## 翻訳について パターン名については原則として『エリック・エヴァンスのドメイン駆動設計』(翔泳社)に合わせています。素晴らしい訳業に(元「DDD難民」の一人としても)記して感謝いたします。 ただし、「エンティティー」「メタファー」「レイヤー」「ファクトリー」など、末尾の音引きは省略せずに記することにしました。そのため、厳密には正確に同一ではありません(他にも「インタフェース」は「インターフェース」にしています)。ご了承ください。 ## 権利について

    DDDリファレンス 定義とパターン概要 (鋭意修正中, CC-BY)
    t_43z
    t_43z 2021/04/13
  • ドメイン駆動設計をわかりやすく - ドメインのモデル設計を手を動かしながら学ぼう|ハイクラス転職・求人情報サイト AMBI(アンビ)

    ドメイン駆動設計をわかりやすく - ドメインのモデル設計を手を動かしながら学ぼう ドメイン駆動設計(DDD)が近年関心を集めていますが、同時にこの設計思想は難しい、わかりにくい、という見方もあります。さまざまなプロジェクトでドメイン駆動設計を実践してきたかとじゅんさんが、サンプル課題をもとに、ユースケース分析、モデル設計といった基礎を解説します。 はじめまして、Chatworkでテックリードをしている、かとじゅん( @j5ik2o )です。 僕は2010年ころより、大小さまざまなプロジェクトでドメイン駆動設計、いわゆるDDD(Domain Driven Design)を導入した開発を実践してきました。ドメイン駆動設計を主題としたワークショップなども主宰していますが、最近では加速度的にこの設計思想への関心が高まっていると感じます。稿では、なにかと分かりにくいドメイン駆動設計の基を、架空の

    ドメイン駆動設計をわかりやすく - ドメインのモデル設計を手を動かしながら学ぼう|ハイクラス転職・求人情報サイト AMBI(アンビ)
    t_43z
    t_43z 2020/05/26
  • ドメイン駆動設計の正しい歩き方

    ドメイン駆動設計でなぜ作るのか? ドメイン駆動設計の考え方 ドメイン駆動設計を実践するための6つの問い 事例研究 ドメイン駆動設計を現場に導入する 体験的に学ぶ エヴァンスをちゃんと読むRead less

    ドメイン駆動設計の正しい歩き方
    t_43z
    t_43z 2019/05/30
  • ドメインモデルの根拠とドメインモデル貧血症の対策について - kubell Creator's Note

    ChatWork Advent Calendar 2017の10日目の記事です。 こんにちは。かとじゅん([Twitter:@j5ik2o]) です。 何を書こうかと悩んだのですが、社内で意見を聞いたところ、やはりDDD関連がよいとなりました。 Scalaコードでわかった気になるDDD この記事も、もう四年前ですっかり古くなりました。最近どういう観点で実践しているかまとめてみます。(DDD初級者という方は、まず上の記事を読むことをお勧めします) DDDを実践するにあたっての個人的な問題点は2つあります。ひとつは、「いきなりドメインモデルを作ることができない」という問題。もうひとつは、ドメインモデルを作り上げても実装コードに役に立つ振る舞いが思いつかず、いわゆる「ドメインモデル貧血症*1」になりやすいという問題です。このような問題は、僕がコミュニティで関わった多くのエンジニアから耳にします。

    ドメインモデルの根拠とドメインモデル貧血症の対策について - kubell Creator's Note
    t_43z
    t_43z 2017/12/19
  • マイクロサービスとDDDをGo言語とScala+Akkaで比較したらEventSourcingの話にもなって面白かったまとめ - yoskhdia’s diary

    Reactive Messaging Patterns読書会のなかで、「マイクロサービスとAkkaとGo」な面白い話題が出たので代表でまとめる試みエントリです。(結構、色々な話題に飛んでいるので難度高い。) まとめ方としては、会話ログを転記して、最後にまとめる形をとっています。また、議論と私の考えが混ざらないように所感は分けておきます。 ddd-cqrs-es.connpass.com TL;DR 要素技術(どんな言語使うとか、どんなアーキテクチャにするとか)の前に、組織やプロダクトの性格を考えて戦略を決めましょう。 そして、その中で最適と思われる戦術をとれるような要素技術を採用しましょう。 Akka良いよ。 ログ(一部抜粋) Slackからの引用のためテキストベースです。 事の始まりは、荒木さん(以下、 @applideveloper )の発言でした。 (この記事絡みですね。 集合知で各

    マイクロサービスとDDDをGo言語とScala+Akkaで比較したらEventSourcingの話にもなって面白かったまとめ - yoskhdia’s diary
  • ドメイン駆動設計の実践は実装だけがすべてじゃないよという話

    この記事は第2のドワンゴ Advent Calendar 2015の22日目のエントリです。 Goでgxui使って2画面ファイラー作ってワショーイしてたんですが、もうちょっと寝かしたいなと思ったので他の事書きます。 こっちはこっちで追って公開したいですね。 というわけで題です。 はい。Evans3部4部ちゃんと理解してない人はやり直しです / “ドメイン駆動設計の間違った方向性” http://t.co/tcgxlWVONq — ソフトウェア設計おじさん (@uzzu) June 25, 2015 Evansの1部3部4部ちゃんと理解してない人は2部読む権利ないですよ — ソフトウェア設計おじさん (@uzzu) June 25, 2015 Evans、2部から行くのがライトウェイトだって言ってる人まだいるのか。SBRじゃないけど、遠回りこそが最短ルートだったよ(私は) — ソフト

  • DDDに役立つScalaの関数型プログラミング的機能 - Qiita

    はじめに 今日あった増田さんのDDD Allianceの3週連続DDDの話を聞いてきた所、最後の質疑応答で、 「ScalaやHaskellなんかの関数型的な考え方が適応できるんじゃないか?」 という質問が聴講者の方から上がったのですが、 増田さん的には「まだ挑戦的試みの域を出ない」という回答があったので、 ScalaでDDDを2年近くやってきた者として、これは役立つよねという手法を紹介しようと思います。 正直な話、DDDも関数型プログラミングも学ぶのに根気のいる難しい概念にもかかわらず、 バズワード化していろんな人が違う意味で使うようになってしまったので、 正直最近こういう話を書きたいと思わなくなってしまったし、 イスラムのムジャーヒディーンと十字軍の両軍の前で正義の定義について演説することに 近いものがあると思うので、気は進まないながらも、役立つものを紹介しようと思います。 まず最初に前

    DDDに役立つScalaの関数型プログラミング的機能 - Qiita
  • DDD Alliance

    ドメイン駆動設計 アライアンス DDD Alliance

    DDD Alliance
    t_43z
    t_43z 2015/06/02
    ほえー
  • Scala界隈でDDDが大いに盛り上がったのでログをまとめましたよ-その1 - Kuchitama Tech Note

    以前、ScalaJpのgitter.imでDDDについて議論が盛んに行われてたけど、いずれログが消えちゃうのがもったいなくて、ここに内容を貼付けます。 scalajp/public - Gitter 要約すると実践DDD出たらみんなで読もうぜ。ってことで。 実践ドメイン駆動設計 (Object Oriented Selection) 作者: ヴァーン・ヴァーノン,高木正弘出版社/メーカー: 翔泳社発売日: 2015/03/17メディア: 大型この商品を含むブログ (1件) を見る ホントは、自分のブログとかじゃなくてGistとかがいいんだろうけど、見た目を整えるのが一番楽なので、ここに掲載しておきます。 一応、最初にまとめるにいたった経緯↓ xuwei-k 2015年2月24日 gitter、無料だとログの保存期間2週間って話だったけど、実は現状全部残ってる https://gitte

    Scala界隈でDDDが大いに盛り上がったのでログをまとめましたよ-その1 - Kuchitama Tech Note
    t_43z
    t_43z 2015/03/05
    そんなことよりFree Monad勉強しましょう(唐突
  • apache causeway

    Apache Causeway™ enables domain-driven application development by dynamically generating a UI and API for your Spring Boot™ apps. That means: Productivity - your app is mostly business logic, with costly UI code eliminated. Discovery - you can work hand-in-hand with your business domain experts, to understand the problem space and to explore and then select a solution within the solution space. Ea

  • GitHub - sisioh/scala-dddbase: Scala Library for Domain Driven-Design

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - sisioh/scala-dddbase: Scala Library for Domain Driven-Design
  • 20110409_DevLOVE「Building Blocks」_都元ダイスケさん

    20110409_DevLOVE「Building Blocks」_都元ダイスケさん
  • [ 技術講座 ] Domain-Driven Designのエッセンス -目次-|オブジェクトの広場

    技術講座] DDD難民に捧げる Domain-Driven Designのエッセンス 第 1 回 ドメイン駆動設計とは 第 2 回 DDDの基礎と実践 第 3 回 大規模なプロジェクトへの適用 DDDパターンカタログ パターン名 参考訳 I. Putting the Domain Model to Work Ubiquitous Language ユビキタス言語 Model-Driven Design モデル駆動設計 Hands-On Modeler 実践的モデラー II. Building Blocks of a Model-Driven Design Layered Architecture 層状アーキテクチャ Smart UI (アンチパターン) 利口なUI Entities エンティティ Value Objects 値オブジェクト Services サービス Modules モジ

    t_43z
    t_43z 2014/02/05
  • ドメインを巡るお話 | Uzzu::Blog

    Jan 4 2014Tags: dci ddd 昨年末にだらだらDCIに関する自分の考えを整理したくて身内で話していて、 結論としては「DDDとDCIどちらもメンタルモデルに近づけるために機能してる点は変わらない。その先DDDあるいはDCIをフレームワークにするか、あるいは一部に取り入れるのか、そこは取組むドメインによって取捨選択だよね」というところに落ち着いたのだけれど、勿体無い内容な気がするので改めてブログに書くことにする。 DDD脳から見たDCIの考察 DCIはFATなドメインモデルに対するアプローチというよりは、シナリオを明確にするためのアプローチなのかなと思う。 DDDを実践するような複雑な問題に直面した時、ドメインモデルは山のように増える。より知識を噛み砕いてドメインモデルにしたほうがより上層のロジックが簡潔になるので積極的にドメインモデルに落とし込む方がよく、結果として、シナ

    t_43z
    t_43z 2014/01/06
  • ServiceとDCIについて - じゅんいち☆かとうの技術日誌

    面白そうなネタがあったので、自分なりの考えをまとめてみる。 Ruby/Rails 用 DI コンテナ Dee をつくった、あるいは Ruby のカルチャーについて この記事はRuby用のDIコンテナの話題なんですが、DCIについても言及されているようです。比較軸はDIそのものというより、サービスとDCIだと思うので、それについてダラダラといくつか考えをまとめてみます。多分も返事になるようでならないかも。それと宗教上の都合でDDDの視点から書きます…。 サービスという言葉はあいまい まず、簡単に前提の整理から。単に”サービス”って言葉が何を指すのか結構曖昧です。 サービスは簡単にいうと手続きとか振る舞いのことですが、細かくいうと、PofEAAでいうサービスと、DDDいうサービスは、目的が異なります。前者はアプリケーションのためにドメインモデルを再利用するためのものです。後者はドメインの知識

    t_43z
    t_43z 2014/01/06
  • Scalaコードでわかった気になるDDD | GREE Engineering

    みなさん、こんにちは。グリーのかとじゅん(@j5ik2o)です。 このエントリは GREE Advent Calendar 2013 の 18日目の記事です。よろしくお願いします。 私がグリーに入社してやっていることは、プログラミング言語 Scalaとドメイン駆動設計(以下、DDD)の布教活動です。布教活動といっても宣伝するだけでは具体性に欠けるので、実際に開発チームに入ってScalaやDDDの技術支援を行っています。エントリでは、Scalaを用いたDDDの設計と実装をどのように行っているかを、DDDを知らない人でもできるだけわかりやすく説明したいと思います(Scalaわかっていると読みやすいですが、あんまり複雑なコードは出てこないのでなんとなく読めるのではないかと思います)。なお、DDDの実践例は他にもあります。一例だと思って読んでいただければ幸いです(先日のSNSチームでのドメイン駆

    Scalaコードでわかった気になるDDD | GREE Engineering
  • SNSチームでのドメイン駆動設計の実践 | GREE Engineering

    こんにちは!グリープラットフォームでSNSの開発をしています、うきょーです! GREE Advent Calendar 2013 6日目です、よろしくお願いします! 今回は僕が所属するチームでの、ドメイン駆動設計を実践してきた過程をお話したいと思います。ドメイン駆動設計とは何か、については簡単に要所要所で説明していきますが、詳しくはで!また、ドメイン駆動設計そのものについての話ではなく、実践の一例となります。 スマートUIパターンからのスタート 今回僕のチームが扱っていたものはJavaScript製のクライアントアプリケーションで、APIから取得した情報を表示し、ユーザーの操作によってAPIを呼び出す、というごく一般的なものです。 ドメイン駆動設計にはアンチパターンとして、スマートUIパターンと呼ばれるものが存在します。簡単に言えば「見た目都合から設計やモデルを考えてしまった」という状況

    SNSチームでのドメイン駆動設計の実践 | GREE Engineering
    t_43z
    t_43z 2013/12/06
  • ドメインモデルの関連を表現するには - じゅんいち☆かとうの技術日誌

    たとえばこんなモデルがあって、相互に依存しているケースを考えよう。 注意:説明を簡単にするために、varを利用しています。 従業員1 2 3 4 5 class Employee( val id: Long, val name: String, var depertment: Option[Depertment] = None ) 部署1 2 3 4 5 class Depertment( val id: Long, val name: String, var employees: Seq[Employee] = Seq.empty ) 利用例1 2 3 4 5 val employee = new Employee(1, "KATO") val depertment = new Depertment(1, "Dev") employee.depertment = Some(depertm

    t_43z
    t_43z 2013/06/04
  • ユビキタス言語とドメインモデル、そしてモデル探求うずまき - じゅんいち☆かとうの技術日誌

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

    t_43z
    t_43z 2013/05/08