InfoQ ホームページ Domain Driven Design に関するすべてのコンテンツ
-
Thoughtworksのデータ・AI担当VP、QCon Londonで堅牢なデータ製品構築のための洞察を語る
Thoughtworks社のデータ&AI担当VPであるDanilo Sato氏は、QCon Londonのプレゼンテーションで、データ製品の実装の際にドメイン駆動設計とチーム・トポロジーの原則を適用することの重要性をあらためて強調した。これにより、データの責任が開発者に「委ねられる」複雑な状況おいても、効果的なデータのカプセル化が保証される。
-
関数型プログラミングによるレイトアーキテクチャ
ソフトウェアアーキテクチャの多くのアプローチはアーキテクチャを最初に計画することを前提としている。残念ながら、この方法で計画されたアーキテクチャは、後で変更することが難しい。関数型プログラミングは、事前の計画を最小限にとどめ、アーキテクチャの決定を後から変更できる程度の疎結合を実現するのに役立つ。
-
SoundCloudの付加価値サービスとドメインゲートウェイを備えたドメイン駆動設計とは
最近、ドメインゲートウェイの実装に向けたSoundCloudのサービスアーキテクチャの進化について説明する2つの記事が公開された。付加価値サービスはその過程にある。著者は、これらのドメイン駆動設計ベースのパターンがどのように重複を減らし、ビジネスと承認ロジックを均質化するのに役立ったかを説明している。
-
EventStoreDB 20.10がリリースされ、gRPCがサポートされ、セキュリティが改善
EventStore LtdはEventStoreDB 20.10をリリースした。EventStoreDB 20.10は、Command Query Responsibility Separation(CQRS)およびEvent Sourcing(ES)パターンを利用したアプリケーションの構築を支援するプラットフォームのメジャーリリースである。
-
Event Modelingの創設者へのインタビュー - Adam Dymitruk氏
Event Modelingプロジェクトに関するAdam Dyumitrik氏とのQ&A。その起源、存在の理由、機能セットおよび将来の計画。
-
分散システムにおける適度な結合とは - Viadik Khononov氏のDDD Europeでの講演より
我々はこれまで、結合は悪である、と教えられていた。そのために、すべてのものを分割して、独立的に変更できる小さなサービスに分解してきた。一方で、この論法に従った結果として、”混乱の分散”に陥ることが少なくない — 先日アムステルダムで開催されたDDD Europe 2020での講演で、Vladik Khononov氏はこのように述べた。結合に抗うのではなく、システム設計を改善するための設計ツールにするように氏は提案する。
-
コンテキスト境界を考える - Nick Tune氏のDDD Europeでの講演より
システムを分割してモジュール化すべき理由はたくさんある — 先日開催されたDDD Europe 2020の基調講演で、Nick Tune氏はこのように述べた。認知負荷の低減が可能になり、独立性のある開発が実現する。ビジネスの観点からは、より詳細な投資管理ができるようになる。講演の中でTune氏は、コンテキスト境界の設定方法によって設計時のモデリング上の選択肢を多くすることができる、と論じている。
-
イベントとマイクロサービスによる実践的ドメイン駆動設計 - QCon New YorkでのIndu Alagarsamy氏の講演より
コンテキスト境界やメッセージングテクノロジといったドメイン駆動設計(DDD)の概念を使用すれば、ビジネスの変化に合わせて拡張可能な、信頼性の高いシステムを構築することができる。Indu Alagarsamy氏は先日のQCon New York 2019 Conferenceで、明確に定義されたコンテキスト境界とイベントを組み合わせて使用することによって、ビジネスの変化に柔軟に対応可能な、自律的マイクロサービスの開発について講演した。
-
コンテキスト境界を定義する - Eric Evans氏のDDD Europeでの講演より
コンテキスト境界(bounded context)とは、特定の用語や規則が一貫した方法で適用されるソフトウェアの定義部分である — Eric Evans氏は今年初め、DDD Europeで行った基調講演でこのように解説して、洗練されたモデルと言語、明確な定義の必要性を説いだ。先日公開されたプレゼンテーションでは、さまざまな種類のコンテキスト境界や、マイクロサービスとの関係について説明している。
-
リテールモノリスからマイクロサービスへの移行 - Sebastian Gauder氏のMicroXchg Berlinでの講演より
ベルリンのMicroXchgで行ったプレゼンテーションの中で、Sebastian Gauder氏は、氏と氏のチームが、ドイツの大企業であるREWEにおいて、それまでの食品小売用モノリスを、270のマイクロサービスからなる複数のビジネスドメインに移行し、チーム数を2から48に拡大した方法について解説するとともに、これを可能にするために設定した、さまざまな設計上の目標と規則について論じた。
-
フレームワークは善か悪か,その両方か?
フレームワークとライブラリのどちらが望ましいか,という議論が起きている。Axon Fraameworkを開発するAxonIQのエバンジェリストであるFrans van Buul氏は先日、ひとつのブログ記事を執筆した。ライブラリを支持する声が多い中で,Van Buul氏は、ビジネスアプリケーションの開発にはフレームワークの利用が非常に有用だ,という考えを述べている。CQRS、DDD、イベントソーシングを基盤とするアプリケーションには,これが特に当てはまる,というのが氏の意見だ。
-
O’Reillyが“The State of Microservices Maturity”レポートを公開
マイクロサービスは一時的な流行からトレンドへと進化しつつある – O’Reillyが公開した"The State of Microservices Maturity"調査の結果である。同レポートからは,実践者の間に,全体としてマイクロサービスに対する前向きな姿勢のあることが見て取れる。最も重要な発見のひとつは,DevOpsとマイクロサービスが相互に作用し合っており,一方の成功が他方の成功に大きく貢献する,ということだ。
-
CQRSとイベントソーシングのフレームワークであるAxonの基本概念と今後について
先日アムステルダムで開催されたEvent-Driven Microservices Conferenceで、Allard Buijze氏は、DDDとイベントソーシング、CQRSに基づくシステムのためのフレームワークであるAxon Frameworkの基本概念と歴史について講演した。Axon Frameworkの採用は急速に伸びており、先日ついに100万ダウンロードを達成している。
-
Michael Feathers氏の提唱する設計指針としてのエラー処理
Michael Feathers氏はエラーに関心を持っているが、ほとんどの開発者がエラーに多くの時間を割きたいとは思っていないことは理解している。氏はまた、大部分のエラー処理は一種のギブアップに過ぎない、と考えている。レガシコードでの開発作業に関する著書で知られる氏は、Explore DDD 2018で行った基調講演の中で、エラーを排除することが、いかにソフトウェアシステム設計のドライバになり得るかを論じた。
-
なぜ、どのように、いつ読みやすいコードを書くか
ほとんどの開発者が読みやすいコードを欲している。開発チームは機能性より読みやすさを好ましいと思っているかもしれない。しかし、読みやすさを定義しようとすると、意見が割れる。Explore DDD 2018でLaura Savino氏はなぜ読みやすいコードが良いのか、読みやすさとはどういうことなのか、他の考慮点よりも読みやすさが絶対的に優先度が高い場合はどんな場合か、について話をした。