タグ

DDDに関するn314のブックマーク (14)

  • DDDについて書かれていたことに共感しました。個人的にはなんにでも画一的なコンポーネント分割を適用しようとするクリーンアーキテクチャやレイヤードアーキテクチャ周辺についても、凝集度や結合度の概念を理解していないエンジニアが多いと感じてしまいます。この辺りのアーキテクチャについて… | mond

    mondでこの質問への回答を読んでみましょう

    DDDについて書かれていたことに共感しました。個人的にはなんにでも画一的なコンポーネント分割を適用しようとするクリーンアーキテクチャやレイヤードアーキテクチャ周辺についても、凝集度や結合度の概念を理解していないエンジニアが多いと感じてしまいます。この辺りのアーキテクチャについて… | mond
    n314
    n314 2023/04/13
    一度インフラ層を追い出してみて同じようなことを思った。書き直したい…。
  • CQRSはなぜEvent Sourcingになってしまうのか - かとじゅんの技術日誌

    CQRSはなぜEvent Sourcingになってしまうのか、まとめてみたいと思います。 なぜまとめるか、それはCQRSにとってEvent Sourcingはオプションだと誤解されている方が多いからです。この記事を書いてる人も最初はそう思っていましたが、実際に開発・運用を経験してみるとCQRSにとってEvent Sourcingはほぼ必須で、認識を改めるべきだと気づきました。なので、原義に基づいたうえで、Event SourcingではないCQRSがなぜよくない設計になるのか解説します。 その前に松岡さんの記事について。 CQRSの領域ではモデルを完全に分ける 松岡さんの記事には”CQRSはモデルを完全に分ける必要はない”と書かれていますが、知識がないと誤解しがちですが文字のまま意味を取るといけません。こちらの言及は、システムのうち、モデルをC/Qに分割するCQRS領域とモデルを分割しな

    CQRSはなぜEvent Sourcingになってしまうのか - かとじゅんの技術日誌
    n314
    n314 2021/03/02
    CQSはCQRSと違うみたいな話?MVCとMVC2は違うけどMVCって呼んじゃう的な。
  • 役割駆動設計で巨大クラスを爆殺する - Qiita

    大量のメソッドを保有し、数千、数万行単位にぶくぶく膨れ上がった巨大クラス。別名「神クラス」とも「大きな泥団子」とも呼ばれる、長大で複雑で密結合で極めて変更が困難なアイツ。 そんな巨大クラスの退治に有効な、ドメイン駆動設計を基思想とする「役割駆動設計」を紹介致します。 解決したい課題、狙う効果 数千、数万行単位の巨大クラスの登場を抑止する。 小さくシンプルな構造に落とし込み、堅牢で変更容易性の高い設計へ昇華させる。 例1:筆者をモデリング 分かりやすくなるよう、まず私を例にモデリングしてみます。私は以下のような特徴があります。 IT企業の従業員 家族がいる(, 子供) 趣味ゲーム制作している ダメな設計 何も考えずに人クラスとして設計すると、よく以下のような構造になりがちです。 従業員として仕事をする、父親として家族サービスする、趣味としてゲーム制作する、それぞれのメソッドが備わってい

    役割駆動設計で巨大クラスを爆殺する - Qiita
    n314
    n314 2021/03/01
    DCIアーキテクチャと言うらしい
  • ウェブアプリケーションのディレクトリ構造どっちがいい?ドメインの考え方を取り入れた時

    せいた @0to1_consulting 1枚目が良いと思うけど、MVCで階層分ける必要性あるのだろうか。「給与計算業務のコントローラ修正しなきゃ」みたいな探し方することが多いだろうし、業務ディレクトリにまとめておいた方がスッキリすると思う。Angularだとxxx/xxx.component.tsとかxxx/xxx.service.tsとかみたいに分かれてて便利。 twitter.com/dumblepytech1/… 2019-07-10 10:39:26

    ウェブアプリケーションのディレクトリ構造どっちがいい?ドメインの考え方を取り入れた時
    n314
    n314 2021/03/01
    これ記事としてまとまったものないのかな。
  • 実践クリーンアーキテクチャ │ nrslib

    YouTube での解説 YouTube にて Java コードをベースに解説を行いました。 コードの雰囲気は C# とほとんど同じなので参考になるかと思います。 もしよければご覧ください。 Java コードの記事リンク:https://nrslib.com/clean-architecture-with-java/ その他解説もしています。もしよろしければチャンネル登録をお願いいたします。 Qiita 版 Qiita に CUIGUI 向けのクリーンアーキテクチャの記事を書きました。 ボブおじさんのクラス図を模したものです。 Web とはまた異なった実装になるので、もしよければ合わせてご参照ください。 https://qiita.com/nrslib/items/a5f902c4defc83bd46b8 さらに PHPLaravel 版も作ってみました。 https://qi

    実践クリーンアーキテクチャ │ nrslib
    n314
    n314 2021/01/04
    むずい。
  • Clean Architecture: Use case containing the presenter or returning data?

    The Clean Architecture suggests to let a use case interactor call the actual implementation of the presenter (which is injected, following the DIP) to handle the response/display. However, I see people implementing this architecture, returning the output data from the interactor, and then let the controller (in the adapter layer) decide how to handle it. Is the second solution leaking application

    Clean Architecture: Use case containing the presenter or returning data?
    n314
    n314 2021/01/04
  • クリーンアーキテクチャの右下の図

    概要 クリーンアーキテクチャの右下の図(これでわかるかな)についてです。 この記事は二つ目です。 クリーンアーキテクチャ関連記事 ◆実践クリーンアーキテクチャ(最新) 記事リンク: https://nrslib.com/clean-architecture/ ※※※↑の記事はこの記事に書いている内容も網羅しています※※※ ◆クリーンアーキテクチャの概要 記事リンク: https://nrslib.com/clean-architecture-old/ ◆クリーンアーキテクチャの右下の図について(イマココ) 記事リンク: https://nrslib.com/clean-flow-of-control/ ◆ ClArc.CLI : CleanArchitecture のクラスを生成して登録まで行うツール 記事リンク: https://nrslib.com/clarc-csharp/ gith

    クリーンアーキテクチャの右下の図
    n314
    n314 2021/01/04
  • 5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ

    この記事は Laravel Advent Calendar 2020 - Qiita 最終日の記事です。 TL;DR DDD や "真の" クリーンアーキテクチャは, Web 業界における大抵の現場ではオーバースペックだし,導入しても全員がついてこれるとは限らない app/UseCases ディレクトリだけ切って,ドメインごとに単一責務なクラスを置くと使いやすいよ ActiveRecord 指向のフレームワークで Repository パターンを無理に導入すると死ぬので, UseCase で Eloquent Model の機能を使うことを恐れるな はじめに Zenn では初投稿です。日Laravel コミュニティではもうお馴染みのようで実はあまり顔を出していない(?) @mpyw と申します。オンラインサロンの火付け役となった Synapse が最初の仕事でしたが,就職後すぐ会社が

    5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ
    n314
    n314 2020/12/25
    phpは基本的にフォームとDBの処理ばかりだから、複雑なロジックは複雑なDBアクセスになるし無理に分けるとバグ増えるよねえ…。
  • ドメイン駆動設計を導入するために転職して最初の3ヶ月でやったこと[DDD] - little hands' lab

    この記事は ドメイン駆動設計 Advent Calendarの記事です。 今年の9月にログラスというスタートアップに転職しました。 ログラスは元々DDDについて講師として勉強会をさせてもらっていた会社であり、DDD自体は社として取り組んでおりある程度進んでいました。ですが、講師ではなく中の人になったからこそできる色々な取り組みがあり、3ヶ月である程度形になりました。 記事では、DDDを広めるための取り組みについて、極力再現性がある形を意識しつつ、ご紹介したいと思います。 入社時の状況 なにをしたか テストの話が多い理由 実施内容詳細 TDD Boot Campの@t_wadaさんの基調講演観賞会を行った Serviceクラスを1パブリックメソッドにした レイヤーごとのオブジェクトの依存関係を整理 レイヤーごとのテスト方針 クラス名の重要性 参照実装を作成した 「責務」と「テスト」の重要性

    ドメイン駆動設計を導入するために転職して最初の3ヶ月でやったこと[DDD] - little hands' lab
    n314
    n314 2020/12/22
    気になる
  • radarphpでDDDやってみて得た知見 - Qiita

    phpでDDDをやってみたのでそこで得た知見を共有します。 ストーリーみたいなものはなくて、「こんな技術面の課題が出てきて、それにこう対応したよ」というTIPSをつらつらと書き連ねていきます。 前書き phpのウェブフレームワークでradarphpというのがあります。 このフレームワークがDDD前提で作られていて、なかなか感じが良かったので見つけてすぐに触ってみたくなりました。 かねてからDDDに入門したいと思っていたこともあって、ちょうどその時HTTPサーバのスタブが必要だったので、試しにDDD + radarphpで作ってみることにしました。 これは趣味プロジェクトだったのですが、作ってるうちにアプリを作ることよりも良いプログラムを書くことの方に興味が移ってしまって、最終的にプロジェクトの目標も「レイヤーやクラスを納得いくまできれいに整理すること」「グルーコード・ボイラープレート的コ

    radarphpでDDDやってみて得た知見 - Qiita
    n314
    n314 2020/04/18
    あとでなんか書こう
  • ボトムアップドメイン駆動設計

    はじめに この記事は前後編に分かれています。 順序だてた解説になっているので最後までお付き合いいただけると幸いです。 後編記事: https://nrslib.com/bottomup-ddd-2/ 順序立っての説明になっておりますので、前編からご覧になることを強くお勧めします。 セミナー情報 こちらの内容のセミナーを不定期で開催しています。 ◆セミナーページ 第一回: https://ddd-community-jp.connpass.com/event/103428/ 第二回: https://ddd-community-jp.connpass.com/event/107106/ 第三回: https://nrs-seminar.connpass.com/event/117283/ ◆あとがき 第一回ボトムアップドメイン駆動設計勉強会を開催しました セミナースライド まえがき この章は

    ボトムアップドメイン駆動設計
    n314
    n314 2020/04/18
  • 僕とDDDとClean ArchitectureとやっぱりDDD - kenfdev’s blog

    2022/04/21更新 ふりかえってみて、この記事は手段と目的をごっちゃにしちゃった自分がよくわかる記事です。 DDDは「どうやってコードを書くか」が問題ではありません。その点を勘違いしちゃってるエンジニアの話として、続きを読みたい人は読んでください🙏 DDD(Domain Driven Design)って難しいですよね。難しい難しいとばかり考えていた僕もようやく最近になって少しずつわかってきた気がします。そのきっかけとなった書籍と僕のストーリーを記事で紹介できたらと思います。 TL;DR Clean Architectureはなんとなくわかる DDDは難しい と感じている人は「Domain-Driven Design in PHP」を読むと道が拓けるかもしれない。 leanpub.com 僕とDDD DDDといえばEvansのドメイン駆動設計: エリック・エヴァンスのドメイン駆動設

    僕とDDDとClean ArchitectureとやっぱりDDD - kenfdev’s blog
    n314
    n314 2020/03/19
    型が無いと非常に読みづらいけど、静的解析が流行ったのは最近だから仕方ないか。
  • 軽量DDDではじめるゲーム開発 ドメイン駆動設計の基本と実践を解説

    2019年10月23日、『神姫PROJECT』などソーシャルゲームの企画・開発を手がける株式会社テクロスが主催するイベント「TECH x GAME COLLEGE」が開催されました。第28回となる今回のテーマは「形から入ったドメイン駆動設計によるゲーム開発の光と闇」。株式会社Nextat取締役・中榮健二氏が、ドメイン駆動設計(DDD)をゲーム開発に取り入れた事例を語りました。登壇資料はこちら ドメイン駆動設計によるゲーム開発の光と闇 中榮健二氏(以下、中榮):最初にいきなりなんですが、お詫びと訂正から。 サブタイトルに「DDDは果たしてゲーム開発に向いているのか!?」と書いていただいたんですけど、日はDDDの核心部分の話はしません。この煽り文の答えが出ないことをお詫びして訂正いたします。すみませんでした。 (会場笑) 自己紹介です。株式会社Nextatの取締役の中榮と申します。取締役と書

    軽量DDDではじめるゲーム開発 ドメイン駆動設計の基本と実践を解説
  • 実践DDD [Domain-Driven Design]:第1回:DDDを俯瞰する | 豆蔵ソフト工学ラボ

    実践DDD [Domain-Driven Design] 第1回:DDDを俯瞰する 印刷 株式会社豆蔵 BS事業部 笠原 規男  2008/11/17 [アーキテクチャ] DDDとは DDDは、Domain-Driven Designの略で、ドメイン駆動設計と訳されます。エリック・エヴァンス氏が、著書『Domain-Driven Design』(以降DDD)で提唱している開発方法論です。同書のサブタイトルには「Tackling Complexity in the Heart of Software」(ソフトウェアの核心にある複雑さに立ち向かう)とあります。複雑化するシステムにおいて、いかにユーザのニーズを把握、実現し、保守・拡張していけば良いかの戦略を示したものです。 同書は、一部のエンジニアには、マーチン・ファウラー氏の『エンタープライズアプリケーションアーキテクチャパターン』(以降P

  • 1