関西Javaエンジニアの会(関ジャバ) '17 10月度 - connpass https://kanjava.connpass.com/event/68169/ での発表資料です。
ドメイン駆動設計を取り入れてみて感じたこと。 はじめまして、FiNCのWeb Applicationエンジニアの重村です。 ウェルネスサーベイというサービスを作っています。 FiNCではマイクロサービスと呼ばれるアーキテクチャパターンを積極的に採用しており、十数個のサービスがあります。 私が担当している「ウェルネスサーベイ」は、FiNCが提供している主軸サービスに導入されている重要なサービスになっており、使いやすい機能やわかりやすいデザインを考えるだけでなく、良い設計や保守性の高いコードを書くことを求められます。 そこで私はドメイン駆動設計という良いコードを書くためのノウハウを、このプロジェクトに取り入れようとしてきました。 今回は、プロジェクトに取り入れたドメイン駆動設計の5つの方法と、それらに対して感じたことを紹介したいと思います。 ドメイン駆動設計の知識や考え方ついては、以下の資料に
ビッグローブでDDDを導入して早2年。 この2年間、ISP事業における主要なサービスをDDDで開発してきて、試行錯誤の連続でした。 今回は、試行錯誤の過程を経て生まれた、実際に実践している ・設計・実装の考え方(ドメインモデルやコード例やDB設計など) ・チーム環境の考え方(開発プロセスやチームビルディングなど) の2つを軸に現場でのリアルな体験を紹介します。 また、最後に、試行錯誤における失敗談も紹介します。 Read less
この記事は、開発を持続可能にできるようなアーキテクチャとその適用方法を考察するものです。 骨子はできていますが、実装経験をフィードバックして詳細を若干変更するかもしれません。 勉強不足な点もあるので、意見を歓迎します。 開発においてよくある問題点 ビジネスロジックの本質が何だったか見失う。ソースコードのどこまでが業務上の関心で、どこからがそれを実現するための技術上の関心か分からなくなる。 入出力双方向の処理が散在して処理が追い切れなくなる。特にイベント処理でどこに飛ぶかわからないコールバック地獄になる。 初期化・つなぎ込み・統合者的オブジェクトが小さな機能単位で生まれて統一感が無くなる。 状態を持つ値が大量に散在して副作用を起こしバグを生む。 これらの問題の結果、小さな単位ごとに個人のノウハウで"良い"設計がされ、機能を追加しようとしたときにどういう方針で行えばよいか分からなくなる。 解決
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く