Content-Length: 223915 | pFad | http://b.hatena.ne.jp/shunt_i/DDD/

[B! DDD] shunt_iのブックマーク

タグ

DDDに関するshunt_iのブックマーク (11)

  • ドメイン駆動設計 - 実践企業が語るBefore/After - に参加して - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Findy Tools開催のオンラインイベントドメイン駆動設計 - 実践企業が語るBefore/After -に参加してきました。 ドメイン駆動設計(以下DDD)についてLINEヤフーの山口氏、塩川氏とパーソルキャリアの池田氏が講演されました。 この記事では、講演内容のまとめと所感を交えてお届けします。 なぜDDDを採用したのか LINEヤフー コミュニケーションコストの増加とシステムの複雑化に対応するため。 コミュニケーション 言葉の違いから認識の違いが発生している マーケと技術で言葉の変換が必要 システム 1クラスにすべての処理が書

    ドメイン駆動設計 - 実践企業が語るBefore/After - に参加して - Qiita
  • 「ドメイン駆動設計をはじめよう」の感想

    1章 事業活動を分析する この章は事業活動を理解するためのドメイン駆動設計の考え方とやり方が解説されています。 感想 ドメイン駆動設計は事業活動と構造を理解するところから始まります。 理想的には設計者や開発者が業務全体を完全に理解したうえで設計や開発を進めることが望ましいです。 しかし、現実としては設計者や開発者がすべての業務を完全に理解することは極めて難しいです。 そこで重要となるのがコミュニケーションとなります。 業務エキスパートと密にコミュニケーションをとり、来の意図を漏れなく汲み取ることがなにより重要になると思います。(どのようにくみ取るかは次章で解説されています。) この辺りはSIerとして参画する場合に特に必要とされると思います。 いかにステークホルダーを巻き込みながら業務エキスパートとの信頼関係を築けるかが、プロジェクトの成功を左右すると言っても過言ではないと思います。 2

    「ドメイン駆動設計をはじめよう」の感想
  • 軽量DDDはもういらない! スタイルガイド本で OOPの実装パターンを学ぼう

    DDDからOOPのプラクティスを学ぶのではなく、OOPのベストプラクティスをスタイルガイドで学んでDDDに活かそう

    軽量DDDはもういらない! スタイルガイド本で OOPの実装パターンを学ぼう
    shunt_i
    shunt_i 2024/11/09
  • DDDを実践するための手引き(ドメインイベント編)

    ドメインイベントを扱う実装は様々な流派があり、記事ではなるべく一般的なものを取り上げたいと思っていますが、あくまで一例です。 実装例は Kotlin を使っていますが、他の言語でも同様の実装が可能です。 ドメインイベントとは イベントとは「過去に発生した出来事」であり、ドメインイベントは「ビジネスドメイン上で発生した重要な出来事を表すメッセージ」です。 (例: チケットが割り当てられた、注文がキャンセルされた) ドメインイベントはシステム内の状態の変化(=集約の状態の変化)を表現するものであり、通常は集約がドメインイベントの発生源となります。 用途 ドメインイベントは主に次のような目的で使用されます。 1. イベントの発生を起点に、別の処理をトリガーする ドメインイベントは、システムの異なる部分間を連携させるために使用されます。 ドメイン上の要件として「...したら...する」のようなフ

    DDDを実践するための手引き(ドメインイベント編)
  • RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応)

    結論 お手軽モノリスならAutoIncrementが効率的だしこれでいいよ アプリケーション側で主キーを生成したい場合はLUIDを作る必要があるよ。GUIDで大は小を兼ねよう 主キーでGUIDを使うならULIDよりもUUIDv7がおすすめだよ ただし分散されているエンジンによってはUUIDv4の方が効率的になる場合もあるよ 主キーは原則公開しない方がいいよ UUIDv7やULIDはユニーク性を持ったInstant(timestamp)としても使えるよ 分散されたシステムでは厳密な時系列性を担保することはできないよ、あきらめてロックをかけつつ連番を一か所で生成しよう RDBのPrimary Key(主キー)とは? MySQL、PostgresQLなどのRDBでは各レコードを識別するために一意な値を必要とします。これをPrimary Key(主キー)と呼びます。別のカラムにUNIQUEなInd

    RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応)
    shunt_i
    shunt_i 2024/05/24
  • システム設計日記

    テスト駆動開発 和田卓人(t-wada)さんによる『テスト駆動開発』の新訳版が出版されました。 オブジェクト指向でソフトウェアを開発するのであれば、このとマーチンファウラーの『リファクタリング』は必読書だと思います。この古典ともいえる『テスト駆動開発』が和田さんの手によって新訳版として復刊されたことは、ほんとうにすばらしいことです。 このが出版された経緯と、和田さんはじめ関係者の方々のご努力については、和田さんの、このブログをぜひ読んでいただければと思います。 新訳版『テスト駆動開発』が出ます 新訳は、単に原著が日語で読めるようになっただけではありません。和田さんの手によって、原著にはない新たな価値が付け加えらました。 一つは、サンプルコードの工夫です。 できるだけ省略はしない変更箇所を目立つようにした各章末にその時点での全コードを記載する これらの工夫により、に書かれた内容が、

    shunt_i
    shunt_i 2024/03/24
    増田亨氏の記事、カテゴリ
  • ドメイン駆動設計入門【DDDをわかりやすく解説】 | 楽水

    突然ですが、エンジニアの皆さま、Javaで開発したWebアプリケーションの構成、このようになっていませんか? データとgetter/setterだけのオブジェクト(JavaBean) 画面のコントロールやビジネスロジックの処理はServletが行う データベースのアクセスは、DAO(Data Access Object)に任せる もしそうであれば、そのシステム、ドメインモデル貧血症に陥ってます。 これは、データとgetter/setterだけのオブジェクトを、Anemic(貧血症になって元気がない)オブジェクトと称し、オブジェクトとはいうものの実質的にはデータであり、それをやりとりするだけの手続き型システムなっていることを嘆いたものです。 今回は、来のオブジェクト指向に立ち返り、そのメリットである高い保守性、再利用性、拡張性を備えた変化に強いシステムを作るための設計方法、ドメイン駆動設計

  • 『現場で役立つシステム設計の原則』を読みました - 人間のあるべき姿の探索

    はじめに 現場で役立つシステム設計の原則を知りたいと思っていたのですが、丁度現場で役立つシステム設計の原則について言及されている書籍があったので読みました。 gihyo.jp ある程度知名度のある書籍で、QiitaやZenn等でまとめられている方がいらっしゃるのですが、自分のアウトプットとして、感想も交えてまとめていきます。 全体の話 この書籍の雰囲気や見通しを立ちやすくするために、参考書籍の一覧を抜粋して紹介します。 『エリック・エヴァンスのドメイン駆動設計ソフトウェアの核心にある複雑さに立ち向かう』『新装版リファクタリング既存のコードを安全に改善する』『SQLアンチパターン』『エンタープライズアプリケーションアーキテクチャパターン』『エクストリームプログラミング』 システム設計の全般を対象にしているのですが、ベースの思考としてはオブジェクト指向プログラミングから発展して、ドメイン駆動設

    『現場で役立つシステム設計の原則』を読みました - 人間のあるべき姿の探索
    shunt_i
    shunt_i 2023/06/11
    “Chapter 7 画面とドメインオブジェクトの設計を連動させる”
  • Repositoryパターンのアンチパターン - Qiita

    よく見かけるRepositoryパターンのアンチパターンの紹介と対策です。 Repositoryパターンとは Repositoryパターンとは永続化を隠蔽するためのデザインパターンで、DAO(DataAccessObject)パターンに似ていますが、より高い抽象度でエンティティの操作から永続化ストレージを完全に隠蔽します。 例えばDBコネクションやストレージのパス等はReposiotoryのインターフェースからは隠蔽され、Repositoryのユーザは永続化ストレージが何であるか(例えばMySQLやRedis等)を意識することなく保存や検索の操作を行うことができるようになります。 これによりRepositoryを利用するロジックは業務的な操作に集中できるようになる他、データベースの移行等の永続化層の変更が発生した際にロジックへの影響を切り離すことができるようになります。 // 例) ユーザ

    Repositoryパターンのアンチパターン - Qiita
    shunt_i
    shunt_i 2023/05/27
    “複雑なクエリをRepositoryで頑張って発行する”
  • 設計要件をギッチギチに詰めたValueObjectで低凝集クラスを爆殺する - Qiita

    //b.hatena.ne.jp/ <summary>契約コントローラー</summary> public class ContractController { private ContractAmount _contractAmount; //b.hatena.ne.jp/ <summary>税込金額を計算する。</summary> //b.hatena.ne.jp/ <param name="amountExcludingTax">税別金額。</param> //b.hatena.ne.jp/ <param name="salesTaxRate">消費税率。</param> //b.hatena.ne.jp/ <returns>税込金額。</returns> public int CalculateAmountIncludingTax(int amountExcludingTax, decimal salesTaxRate) { return (int)(amountExcludingTax * (1.0m + sales

    設計要件をギッチギチに詰めたValueObjectで低凝集クラスを爆殺する - Qiita
    shunt_i
    shunt_i 2019/12/20
    課題が共感できるし解決法も良さそう、丁寧でわかりやすかった。ディレクトリ構成がどうなるかも欲しかったな。
  • InfoQ: Domain Driven Design(ドメイン駆動設計) Quickly 日本語版

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

    shunt_i
    shunt_i 2018/11/16
    “「Domain Driven Design(ドメイン駆動設計) Quickly 」は、短くすばやく読める要約と、DDDの原則を紹介します。”
  • 1








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://b.hatena.ne.jp/shunt_i/DDD/

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy