タグ

dddに関するj5ik2oのブックマーク (160)

  • Designer meets Domain-Driven-Design

    Designer meets Domain-Driven-Design サービスデザインからUXデザイン・分析、UIデザインなど、Domain-Driven-Designの事を非エンジニアも知れるようにまとめました。 * Standard Inc & Fablic Incで開催された非エンジ…

    Designer meets Domain-Driven-Design
    j5ik2o
    j5ik2o 2016/05/15
  • Rails:Service層を運用して良かったところ、悪かったところ - Qiita

    1年前くらいにRailsの設計にDDD(ドメイン駆動設計)のService層を導入し、Modelの肥大化対策をしました。 この記事では、まずどのようなルールでService層が組み込まれているかと、1年間運用してみて良かったところ、悪かったところの感想を書きます。 [2018/05追記] 最近ではサービス層の導入は賛否両論あるようなので、導入する際は自分のプロジェクトに合っているかどうかを十分にご検討ください! Service層を導入するきっかけになった問題点 Modelの肥大化 Model間の複雑な依存関係 多数のミドルウェアの導入による複雑さの倍増 これらにより.. メンテナンスやテストがしにくい コードが整理されていないのでとにかく読みづらい Model複雑化の例 <ユーザがECサイトの商品をお気に入り(like)にするメソッドを書く場合> 処理に関連するテーブル my_itemsテ

    Rails:Service層を運用して良かったところ、悪かったところ - Qiita
    j5ik2o
    j5ik2o 2016/04/30
    ここでいうサービスってドメイン層のものじゃないです。ファウラーのアプリケーションサービスです。出典はDDDじゃなくてPofEAです。つ http://blog.j5ik2o.me/entry/2016/03/07/034646
  • 設計書からの卒業

    15. •重要なのはドメインであり、ユビキタス言語である •設計書にはユーザーストーリーを書くだけに留める •クラス図を書く •ユーザーストーリーをクラス図に反映する •システムを保守する人間がシステムの内部構造を理解していればそれでいい •設計書に縛られてプログラムが歪になってはいけない •シナリオ -> モデル -> コード -> http://j5ik2o.me/blog/2013/05/11/sinario-model-code/ 簡単に

    設計書からの卒業
    j5ik2o
    j5ik2o 2016/04/30
    DDDではドキュメントを書くなと言ってませんのでこれを見る人は注意。書く書かないにしろ設計とコードの乖離が起こらないようにモデルに関心と責任を持てということだ。実践的モデラとはそういうパターン。
  • DDDにおいてリポジトリとDBのトランザクションは切り離せないのか? - pospomeのプログラミング日記

    DDDではリポジトリに対してDIPを利用し、インターフェースと実装を切り離す傾向にある。 これはいわゆる「抽象に依存せよ」ってやつなので、 DDDというよりは既存のプログラミングテクニックになる。 で、これを実現するためにリポジトリを以下のようにインターフェースで実装する。 コードはTypeScriptです。 interface UserRepo { insert(user: User, master: DbMasterConnection): Promise<User>; findByName(name: string, con: DbConnection): Promise<User>; findById(id: number, con: DbConnection): Promise<User>; }リポジトリの実装自体はインフラレイヤに置く。 「データを取得する」ということなので、個

    DDDにおいてリポジトリとDBのトランザクションは切り離せないのか? - pospomeのプログラミング日記
    j5ik2o
    j5ik2o 2016/04/30
    集約を跨るTx境界があるならCxtなどの抽象化が必要ですが、集約単位=Tx境界とするならリポジトリ内部でコネクションやトランザクションのオブジェクトを取得するのもありです。集約の外側では結果整合になるので。
  • DDDにおけるオブジェクトの関連 - 考える場所

    単方向にする DDD には一方向の関係性が適しています。Eric Evans は、「可能な限り関係性を制限することが重要です」、そして「ドメインを理解することで自然な方向性が明らかになります」と助言しています。 - データ ポイント - ドメイン駆動設計のコーディング: データを重視する開発者のためのヒント (第 3 部) DDDにおいては 関連を極力排除する のが正しいようだ。たとえば「伝票」と「明細」からなるaggregateについて。まずaggregate rootである「伝票」が グローバルなIDをもつ 。関連は「伝票」から「明細」の向きにある。つまり「伝票」オブジェクトが「明細」オブジェクト(のコレクション)を参照する。逆はしない。「伝票」は「伝票リポジトリ」にある(リポジトリから取得する)。 class Slip { UUID id; List<Detail> details

    DDDにおけるオブジェクトの関連 - 考える場所
    j5ik2o
    j5ik2o 2016/04/30
    Ericさんの理論では、疑問の答えは後者であってます。ドメインモデルはユビタス言語の表現に集中する&集約は内部のオブジェクト(外部集約へのID参照は自集約の所有なので内部となる)に関心があるということなので。
  • JavaScriptでDDD(ドメイン駆動設計) その2 ドメイン知識を分離する - CureApp開発者ブログ

    2015 - 10 - 08 JavaScriptでDDD(ドメイン駆動設計) その2 ドメイン知識を分離する ドメイン 知識を分離する ドメイン 知識とは、関心領域の知識のことです。 例えば弊社の扱う領域は医療 / 医学です。 「患者さんに運動療法を提案したい。ただ、 高度の腎機能障害、 心不全 徴候がある場合は提案しないようにしたい。」 という要件があったとします。 悪いコードの例は、 if ( patient . sex is 'male' and patient . sCr >= 2.5 ) or ( patient . sex is 'female' and patient . sCr >= 2 ) or patient . BNP > 100 notify '運動は控えましょう。' else notify '運動しましょう。' 重要な ドメイン 知識が手続きの一部に埋まってしま

    JavaScriptでDDD(ドメイン駆動設計) その2 ドメイン知識を分離する - CureApp開発者ブログ
    j5ik2o
    j5ik2o 2016/04/29
    ドメインに関心を向けるのは良いこと。だけど、大半の人は、"慢性腎臓病であるか"は医者と患者の相互作用=診断行為などで決定されるはずだという違和感を持つということですね。深いモデルはそこから。自戒も込めて
  • ドメイン駆動設計(DDD)とは結局何なのか?言葉の意味を踏まえて考えてみる - momotas的日記

    2016 - 01 - 24 ドメイン駆動設計(DDD)とは結局何なのか?言葉の意味を踏まえて考えてみる DDD こんにちは id:momotas210 です。 最近は仕事で ドメイン 駆動設計の思想に基づいた設計を Scala で実装に落とし込むといった事をしているのですが、そもそも設計に関しては全て上司が1人でやってしまっていたので実装していくなかで 「ServiceがあってReposirtoyがあって(以下略)ここにはこういう内容の処理を書いていくのかフム(゚Д゚)フム」 と受け入れつつも僕自身が ドメイン 駆動設計がどこまで分かっているのかも分からない状態であるのに加え、DDD Allianceの勉強会では 「分析・設計・実装の担当者を別にしない」 という話もお聞きしたのでDDDについて調べて考えてみました。 (勉強会の資料はこれです) ドメイン駆動設計のためのオブジェクト指向入門

    ドメイン駆動設計(DDD)とは結局何なのか?言葉の意味を踏まえて考えてみる - momotas的日記
    j5ik2o
    j5ik2o 2016/03/19
    苦悩がわかる。昔の僕も同じ。個人的にはインフラストラクチャ層で表現される"コード"(記号論でいうコード)を基に問題領域の関心事を境界付けられたコンテキストを背景に純粋に表現するのがドメイン駆動設計ですね!
  • CodeIQについてのお知らせ

    2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod

    CodeIQについてのお知らせ
    j5ik2o
    j5ik2o 2016/02/27
    Go での DDDの事例。OpenID Connect採用してるのも好感が持てる。
  • ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~

    1. ドメイン駆動設計 ユーザー、モデル、エンジニアの 新たな関係 PHPメンターズセミナー in PHPカンファレンス Oct.3, 2015 杉twitter: @sugimoto_kei http://www.fusions.co.jp 2. 自己紹介 • 会計事務所系コンサルティング会社(アクセンチュア/アンダーセン)出身。 • 生産管理/会計系基幹システム構築 (スクラッチ開発, SAP R/3等) ~ 会計・経営管理領域の制度設計・業務改革 ~ パッケージソフト(連結会計)開発など。 • 2003年独立、経営管理基盤ソフトウェア「fusion_place」の開発販売・導入支援。 http://www.fusions.co.jp • 現役 Java プログラマ。OOPラブ × XPラブ × DOAラブ。 • 全然アップデートしていないブログあり。 http://hot-h

    ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
  • (DDD×Scala)×(ChatWork×アラタナ) 合同プログラミング勉強会レポート!! | チャットワーククリエーターズブログ

    2015/06/26にアラタナさんとチャットワークとでDDD×Scalaの合同勉強会を開催しました。 アラタナさんの宮崎社とチャットワークの東京オフィスをビデオ通話でつないでの合同勉強会でした。 この勉強会はクローズドイベントだったので、参加したくてもできない方がたくさんいたと思います。なので、Web開発部のチバがレポートをします。めちゃくちゃ楽しかったので、参加したくてもできなかった方たちのためにめちゃくちゃ楽しかったことをレポートします。 アラタナさんも当日の様子を「僕らの継続的ビール摂取型ドメイン駆動設計(ChatWork ✕ アラタナ合同勉強会)」という記事に書いてくれました! 準備 宮崎と東京でインターネットを使って勉強会…なんてインターネットっぽい勉強会なんだ…!と思っていたら、アラタナさんが来社。しかも勉強会中にべる事を持って来てくれました!!! DDDおじさんが突然の

    (DDD×Scala)×(ChatWork×アラタナ) 合同プログラミング勉強会レポート!! | チャットワーククリエーターズブログ
    j5ik2o
    j5ik2o 2015/07/06
    次回もやろう
  • ZOZO Technologies TECH BLOG

    2020-06-29 【オンラインMeetup イベントレポート】ZOZOテクノロジーズの大規模データ活用 イベントレポート GCP Elasticsearch 検索 機械学習 こんにちは、ZOZOテクノロジーズ CTO室の池田(@ikenyal)です。 ZOZOテクノロジーズでは、6/22にZOZO Technologies Meetup -ZOZOテクノロジーズの大規模データ活用-を開催しました。 zozotech-inc.connpass.com 「ZOZOテクノロジーズの大規模データ活用に興… 【オンラインMeetup イベントレポート】ZOZOテクノロジーズの大規模データ活用 2020-06-26 IIASの列レベルセキュリティ機能で実現する、個人情報マスクの仕組み Database DWH こんにちは!那須どうぶつ王国でスナネコの赤ちゃんの一般公開が開始された1ことに喜びを感じ

    ZOZO Technologies TECH BLOG
    j5ik2o
    j5ik2o 2015/07/03
    花京院立ち!!!
  • DDD、マイクロサービス、境界についてEric Evans氏が語る

    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が最近リリースされ、重要な変...

    DDD、マイクロサービス、境界についてEric Evans氏が語る
    j5ik2o
    j5ik2o 2015/07/02
    サブドメインと境界づけれたコンテキストのセットは、どこに進むべきを示す羅針盤
  • 僕はドメイン駆動設計が理解できない。

    ツイート ブックマーク 設計やオブジェクト指向は理解したつもりなのに、実は違うというような事の繰り返しのような気もしますが、それにしても僕はなにも理解できていないんですよね。 DomainKataを少し使って理解した気になっていんですが、ただの勘違いでした・・・。 DDDを解ったつもりになっていて、すごく恥ずかしくて、すごく悔しくて、毎日悩んでいます。 だから、今わからない事をこの記事に残しておこうと思いました。 たとえばカテゴリ一覧を表示するということに関して カテゴリ一覧を表示するページなんてのWebアプリによくある実装内容だと思います。 このような場合どうしたらいいのか悩んでいます。 エンティティの候補として カテゴリ カテゴリ一覧(コレクション的な) このような感じになるかと思います。 カテゴリ一覧ってサービスじゃないの? 「カテゴリ一覧」をエンティティとして表現するのはありかと思

    僕はドメイン駆動設計が理解できない。
    j5ik2o
    j5ik2o 2015/06/19
    概念が先にあってそれを投影したモデルを作ります。カテゴリが識別される概念ならエンティティです。そうでないなら値オブジェクトです。そのどちらにも属さない振る舞いはドメインサービスになりますね。
  • Biglobe×ddd 実践編(dev love 20150618)

    23. やり方 手段 :ホワイトシートと付箋 参加者:チームメンバ全員で作業(大切) 時間 :1〜2時間程度 [手順] 1. ValueObject(単一のデータ)に名前をつける 2. Entity(データ集まり)に名前をつける 3. 状態(ステータス)を見つける 4. ユースケースごとにEntityのライフサイクルを考えてみる

    Biglobe×ddd 実践編(dev love 20150618)
    j5ik2o
    j5ik2o 2015/06/19
    でかそうなシステムに見えるので、コンテキストマップとか書けるとよいかもしれませんね。
  • ZOZO Technologies TECH BLOG

    2020-07-01 ZOZOTOWNのインハウス広告運用を支援するデータと仕組みの話 BigQuery データ マーケティング 広告 記事では、ZOZOのマーケティング部門の広告運用のインハウス化に伴って、これまで取り組んできた広告データの収集と活用、その仕組みにフォーカスして事例をご紹介します。 ZOZOTOWNのインハウス広告運用を支援するデータと仕組みの話 2020-06-29 【オンラインMeetup イベントレポート】ZOZOテクノロジーズの大規模データ活用 イベントレポート GCP Elasticsearch 検索 機械学習 こんにちは、ZOZOテクノロジーズ CTO室の池田(@ikenyal)です。 ZOZOテクノロジーズでは、6/22にZOZO Technologies Meetup -ZOZOテクノロジーズの大規模データ活用-を開催しました。 zozotech-inc

    ZOZO Technologies TECH BLOG
    j5ik2o
    j5ik2o 2015/05/29
    素晴らしい。応援してます。Scala DDD おじさんにできることあればご相談ください。糖質制限でもよいですo(^▽^)o
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年10月時点の調査。

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
    j5ik2o
    j5ik2o 2015/02/01
    ありがとうございました!また呼んでください!
  • DCIアーキテクチャへの違和感から見えてくるユースケースDSL - 石橋秀仁(zerobase)書き散らす

    DCIとDDD DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien - Digital Romanticismを読んだり、DCI meetup w/ @jcoplien for Rubyistsに参加したりして、DCIアーキテクチャについて考えてきた。 DCIはメッセージパッシング指向だ。そのSmalltalk的なオブジェクト指向の原理はいいけど、実装が嫌だ。 そもそも、DCIアーキテクチャ提唱の目的は、メンタルモデルのセマンティクス・ギャップを埋めることだ。DDDの「ユビキタス言語」も、メンタルモデルのセマンティクス・ギャップを埋めるための要素であり手法だ。だから、ふつうにDDD(ドメイン駆動設計)をやればいいと思った。 DCIへの疑問 DCIでは、「オブジェクトのアイデンティティ」にこだわりすぎていることで、アーキテクチャが複雑になって

    DCIアーキテクチャへの違和感から見えてくるユースケースDSL - 石橋秀仁(zerobase)書き散らす
    j5ik2o
    j5ik2o 2014/12/23
    古い記事ですが、よい記事。一度お会いして議論したい。
  • データ ポイント - コンテキストが限定されるドメイン駆動設計でのデータ共有パターン

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 コンテキストが限定されるドメイン駆動設計でのデータ共有パターン Julie Lerman コード サンプルのダウンロード 私はプログラミング人生の中で、コードとデータを再利用できるようにすることを自分を駆り立てる目標としてきました。そのため、ドメイン駆動設計 (DDD) の学習を始めた当初、コンテキストを限定して強制的に分離し、コードはもちろんデータまでコピーすることがある DDD の手法は理解に苦しみました。DDD 業界の優秀な開発者数人の手を借りて、私の古いやり方が招く潜在的な問題が明らかになったときは、卒倒するような気分でした。最終的には、どこで複雑さという犠牲を払うかを選択することが必要だと Eric

    データ ポイント - コンテキストが限定されるドメイン駆動設計でのデータ共有パターン
    j5ik2o
    j5ik2o 2014/11/25
    Akkaで実装するのがよさげ。つまり Reactive DDD
  • ドメイン駆動設計のリファレンス本 | GuildWorks Blog

    井上です。 現在、ドメイン駆動設計(Domain Driven Desing . 以下 DDD)を用いて開発を行っています。 DDDの参考書籍といえば、もちろん「エリック・エヴァンスのドメイン駆動設計 ソフトウェアの核心にある複雑さに立ち向かう」(以下 DDD)ですが、その著者であるエリック・エヴァンスが最近(2014/9/22)「Domain-Driven Design Reference: Definitions and Pattern Summaries」という新しい(以下 DDDリファレンス)を出していることに気がつきました。 DDDリファレンスとは 早速DDDリファレンスを取り寄せてみました。88ページと非常にコンパクトなになっています。 内容的には、以下で公開されているPDFに新しい図や写真を追加してペーパーバックとして出版したもののようです。 DDD REFERE

    ドメイン駆動設計のリファレンス本 | GuildWorks Blog
    j5ik2o
    j5ik2o 2014/11/24
    DomainEvent やっと説明入ったか。Whirlpool もリリースして欲しい
  • ドメインモデル中心のアーキテクチャ | GuildWorks Blog

    ドメインモデル中心のアーキテクチャ | GuildWorks Blog