Suche senden
Hochladen
ドメイン駆動設計と サーバサイドと私
•
Als PPTX, PDF herunterladen
•
6 gefällt mir
•
3,154 views
Noriaki Kadota
Folgen
新卒勉強会用(2016/04/20)
Weniger lesen
Mehr lesen
Ingenieurwesen
Melden
Teilen
Melden
Teilen
1 von 44
Jetzt herunterladen
Empfohlen
最近誰かに「やったほうがいいよ」と伝えた7のこと
最近誰かに「やったほうがいいよ」と伝えた7のこと
Noriaki Kadota
成功したチームと成功しなかったチーム 20160608
成功したチームと成功しなかったチーム 20160608
Keiichi Endo
ベストエンジニアな働き方
ベストエンジニアな働き方
Keiichi Endo
Swiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考える
Takuya Kitamura
トラブルシューティングで僕が大事にしてること
トラブルシューティングで僕が大事にしてること
Noriaki Kadota
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
de:code 2017
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
KLab Inc. / Tech
Empfohlen
最近誰かに「やったほうがいいよ」と伝えた7のこと
最近誰かに「やったほうがいいよ」と伝えた7のこと
Noriaki Kadota
成功したチームと成功しなかったチーム 20160608
成功したチームと成功しなかったチーム 20160608
Keiichi Endo
ベストエンジニアな働き方
ベストエンジニアな働き方
Keiichi Endo
Swiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考える
Takuya Kitamura
トラブルシューティングで僕が大事にしてること
トラブルシューティングで僕が大事にしてること
Noriaki Kadota
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
de:code 2017
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
KLab Inc. / Tech
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
Yusuke Kawabata
20150531 phpcon kansai
20150531 phpcon kansai
kumamidori
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
Noriaki Kadota
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料
Takafumi ONAKA
ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用
Takehiro Inoue
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
KLab Inc. / Tech
エンジニアが働きたい場所で働けるために、チームに必要なこと
エンジニアが働きたい場所で働けるために、チームに必要なこと
Yuki Okada
ソースコードレビューのススメ
ソースコードレビューのススメ
KLab Inc. / Tech
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
Naoki Yamada
How to develop a huge Single Page Application
How to develop a huge Single Page Application
Naoki Yamada
ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話
KLab Inc. / Tech
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
Naoki Yamada
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
増田 亨
コンポーネント単位で考えるWeb制作
コンポーネント単位で考えるWeb制作
祐磨 堀
cedec2021
cedec2021
KLab Inc. / Tech
“MT on AWS”でWebサイト構築! 作り手が気をつけておきたいポイント
“MT on AWS”でWebサイト構築! 作り手が気をつけておきたいポイント
Monster Dive, Inc.
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
gree_tech
見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション
KLab Inc. / Tech
運営型モバイルゲームの運用について
運営型モバイルゲームの運用について
KLab Inc. / Tech
10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話
10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話
takehiko yoshida
【設計編Ver2】0からのディレクション講座
【設計編Ver2】0からのディレクション講座
本間 和城
DMM.comラボネットワーク部における朝会の変遷
DMM.comラボネットワーク部における朝会の変遷
Ken SASAKI
Weitere ähnliche Inhalte
Was ist angesagt?
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
Yusuke Kawabata
20150531 phpcon kansai
20150531 phpcon kansai
kumamidori
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
Noriaki Kadota
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料
Takafumi ONAKA
ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用
Takehiro Inoue
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
KLab Inc. / Tech
エンジニアが働きたい場所で働けるために、チームに必要なこと
エンジニアが働きたい場所で働けるために、チームに必要なこと
Yuki Okada
ソースコードレビューのススメ
ソースコードレビューのススメ
KLab Inc. / Tech
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
Naoki Yamada
How to develop a huge Single Page Application
How to develop a huge Single Page Application
Naoki Yamada
ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話
KLab Inc. / Tech
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
Naoki Yamada
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
増田 亨
コンポーネント単位で考えるWeb制作
コンポーネント単位で考えるWeb制作
祐磨 堀
cedec2021
cedec2021
KLab Inc. / Tech
“MT on AWS”でWebサイト構築! 作り手が気をつけておきたいポイント
“MT on AWS”でWebサイト構築! 作り手が気をつけておきたいポイント
Monster Dive, Inc.
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
gree_tech
見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション
KLab Inc. / Tech
運営型モバイルゲームの運用について
運営型モバイルゲームの運用について
KLab Inc. / Tech
10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話
10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話
takehiko yoshida
Was ist angesagt?
(20)
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
20150531 phpcon kansai
20150531 phpcon kansai
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料
ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
エンジニアが働きたい場所で働けるために、チームに必要なこと
エンジニアが働きたい場所で働けるために、チームに必要なこと
ソースコードレビューのススメ
ソースコードレビューのススメ
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
How to develop a huge Single Page Application
How to develop a huge Single Page Application
ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
コンポーネント単位で考えるWeb制作
コンポーネント単位で考えるWeb制作
cedec2021
cedec2021
“MT on AWS”でWebサイト構築! 作り手が気をつけておきたいポイント
“MT on AWS”でWebサイト構築! 作り手が気をつけておきたいポイント
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション
運営型モバイルゲームの運用について
運営型モバイルゲームの運用について
10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話
10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話
Ähnlich wie ドメイン駆動設計と サーバサイドと私
【設計編Ver2】0からのディレクション講座
【設計編Ver2】0からのディレクション講座
本間 和城
DMM.comラボネットワーク部における朝会の変遷
DMM.comラボネットワーク部における朝会の変遷
Ken SASAKI
0からのウェブディレクション講座:制作・開発編 ver 3.00
0からのウェブディレクション講座:制作・開発編 ver 3.00
Yusuke Kojima
Jbug福岡#3 Backlogを活用したシェアオフィス管理
Jbug福岡#3 Backlogを活用したシェアオフィス管理
Junji Manno
機械学習に取り組んでいる企業の紹介
機械学習に取り組んでいる企業の紹介
Kazuma Kadomae
HTML5の今とこれから
HTML5の今とこれから
Takuya Yamamoto
0からのwebディレクション講座 運用編4.0
0からのwebディレクション講座 運用編4.0
Kenta Nakamura
0dire_unyo
0dire_unyo
Kei Oyama
CSSフレームワークとCMS+RWDテンプレでレスポンシブWebデザインサイトを構築しよう
CSSフレームワークとCMS+RWDテンプレでレスポンシブWebデザインサイトを構築しよう
Masayuki Abe
アプリ開発、SaaS開発を経て最近考えていること.pdf
アプリ開発、SaaS開発を経て最近考えていること.pdf
ivanov23
モバイルファーストで考える最新トレンドと アダプティブデザイン
モバイルファーストで考える最新トレンドと アダプティブデザイン
Takeshiro Kani
javascriptの基礎
javascriptの基礎
Masayuki Abe
アプリ開発、SaaS開発を経て最近考えていること.pdf
アプリ開発、SaaS開発を経て最近考えていること.pdf
ivanov23
全てのWebディレクターに捧ぐ、これだけは抑えて欲しい SEO内部要件基礎講座(前編)
全てのWebディレクターに捧ぐ、これだけは抑えて欲しい SEO内部要件基礎講座(前編)
ナイル株式会社
始めよう!Webディレクション 制作・開発現場を活性化するディレクション
始めよう!Webディレクション 制作・開発現場を活性化するディレクション
Yusuke Kojima
【Edge Animate】スマホアプリのインタラクティブコンテンツ
【Edge Animate】スマホアプリのインタラクティブコンテンツ
Tomonori Watanabe
売上前年比122%達成、地方のウェブサイト制作会社を支えるMovableType.netの活用法
売上前年比122%達成、地方のウェブサイト制作会社を支えるMovableType.netの活用法
Yasufumi Nishiyama
ウェブディレクションの基礎(第2回:制作・開発編) 先生:小嶋裕亮
ウェブディレクションの基礎(第2回:制作・開発編) 先生:小嶋裕亮
schoowebcampus
090601 担当者のコトバに振り回されるな!
090601 担当者のコトバに振り回されるな!
Ryohei Katayama
リモートワーカー働き方実態とテレワーク導入企業事例について
リモートワーカー働き方実態とテレワーク導入企業事例について
ZappyLink Co.,Ltd.
Ähnlich wie ドメイン駆動設計と サーバサイドと私
(20)
【設計編Ver2】0からのディレクション講座
【設計編Ver2】0からのディレクション講座
DMM.comラボネットワーク部における朝会の変遷
DMM.comラボネットワーク部における朝会の変遷
0からのウェブディレクション講座:制作・開発編 ver 3.00
0からのウェブディレクション講座:制作・開発編 ver 3.00
Jbug福岡#3 Backlogを活用したシェアオフィス管理
Jbug福岡#3 Backlogを活用したシェアオフィス管理
機械学習に取り組んでいる企業の紹介
機械学習に取り組んでいる企業の紹介
HTML5の今とこれから
HTML5の今とこれから
0からのwebディレクション講座 運用編4.0
0からのwebディレクション講座 運用編4.0
0dire_unyo
0dire_unyo
CSSフレームワークとCMS+RWDテンプレでレスポンシブWebデザインサイトを構築しよう
CSSフレームワークとCMS+RWDテンプレでレスポンシブWebデザインサイトを構築しよう
アプリ開発、SaaS開発を経て最近考えていること.pdf
アプリ開発、SaaS開発を経て最近考えていること.pdf
モバイルファーストで考える最新トレンドと アダプティブデザイン
モバイルファーストで考える最新トレンドと アダプティブデザイン
javascriptの基礎
javascriptの基礎
アプリ開発、SaaS開発を経て最近考えていること.pdf
アプリ開発、SaaS開発を経て最近考えていること.pdf
全てのWebディレクターに捧ぐ、これだけは抑えて欲しい SEO内部要件基礎講座(前編)
全てのWebディレクターに捧ぐ、これだけは抑えて欲しい SEO内部要件基礎講座(前編)
始めよう!Webディレクション 制作・開発現場を活性化するディレクション
始めよう!Webディレクション 制作・開発現場を活性化するディレクション
【Edge Animate】スマホアプリのインタラクティブコンテンツ
【Edge Animate】スマホアプリのインタラクティブコンテンツ
売上前年比122%達成、地方のウェブサイト制作会社を支えるMovableType.netの活用法
売上前年比122%達成、地方のウェブサイト制作会社を支えるMovableType.netの活用法
ウェブディレクションの基礎(第2回:制作・開発編) 先生:小嶋裕亮
ウェブディレクションの基礎(第2回:制作・開発編) 先生:小嶋裕亮
090601 担当者のコトバに振り回されるな!
090601 担当者のコトバに振り回されるな!
リモートワーカー働き方実態とテレワーク導入企業事例について
リモートワーカー働き方実態とテレワーク導入企業事例について
Mehr von Noriaki Kadota
マネジメントレスのススメ - VPoE-Meetup by manaboo
マネジメントレスのススメ - VPoE-Meetup by manaboo
Noriaki Kadota
成功したチーム 失敗したチーム -F.O.X Meetup #3-
成功したチーム 失敗したチーム -F.O.X Meetup #3-
Noriaki Kadota
"マネジメント"以外でフルスタックになった後に必要なスキル -TECH PLAY Career Meetup #8-
"マネジメント"以外でフルスタックになった後に必要なスキル -TECH PLAY Career Meetup #8-
Noriaki Kadota
横断組織の失敗から学ぶこと -VP of Engineering Meetup by CA- (公開版)
横断組織の失敗から学ぶこと -VP of Engineering Meetup by CA- (公開版)
Noriaki Kadota
エンジニア採用における技術広報の重要ポイント
エンジニア採用における技術広報の重要ポイント
Noriaki Kadota
Product Managerになってぶつかった5つの壁
Product Managerになってぶつかった5つの壁
Noriaki Kadota
改善したほうがいい私の7つの開発習慣
改善したほうがいい私の7つの開発習慣
Noriaki Kadota
超大量トラフィックとAWSと私
超大量トラフィックとAWSと私
Noriaki Kadota
CyberZ - 新しい技術目標評価制度の説明 2016-09-30
CyberZ - 新しい技術目標評価制度の説明 2016-09-30
Noriaki Kadota
Mehr von Noriaki Kadota
(9)
マネジメントレスのススメ - VPoE-Meetup by manaboo
マネジメントレスのススメ - VPoE-Meetup by manaboo
成功したチーム 失敗したチーム -F.O.X Meetup #3-
成功したチーム 失敗したチーム -F.O.X Meetup #3-
"マネジメント"以外でフルスタックになった後に必要なスキル -TECH PLAY Career Meetup #8-
"マネジメント"以外でフルスタックになった後に必要なスキル -TECH PLAY Career Meetup #8-
横断組織の失敗から学ぶこと -VP of Engineering Meetup by CA- (公開版)
横断組織の失敗から学ぶこと -VP of Engineering Meetup by CA- (公開版)
エンジニア採用における技術広報の重要ポイント
エンジニア採用における技術広報の重要ポイント
Product Managerになってぶつかった5つの壁
Product Managerになってぶつかった5つの壁
改善したほうがいい私の7つの開発習慣
改善したほうがいい私の7つの開発習慣
超大量トラフィックとAWSと私
超大量トラフィックとAWSと私
CyberZ - 新しい技術目標評価制度の説明 2016-09-30
CyberZ - 新しい技術目標評価制度の説明 2016-09-30
ドメイン駆動設計と サーバサイドと私
1.
ドメイン駆動設計と サーバサイドと私 株式会社 CyberZ 門田矩明 新卒向け勉強会(2016/04/20)
2.
自己紹介 ・門田 矩明(かどた のりあき) ・株式会社CyberZ
F.O.X プロダクトマネージャ ・Javaエンジニア。個人的にフレームワークはSpring Boot推し ・前職では、ECサイト開発やFX取引システム開発など ・2012年 サイバーエージェント 中途入社 [Ameba] 出会い系アプリ → Teen女子SNSアプリ → Teen女子ブログサービス(CANDY by Ameba) [CyberZ] F.O.X 広告効果計測システム開発リーダー → F.O.X プロダクトマネージャ now
3.
私がサーバサイドで一貫して 使用しているもの
4.
ドメイン駆動設計 Domain Driven Design
5.
[今日のゴール] ドメイン駆動設計に 興味をもってもらう
6.
Q. ドメイン駆動設計ってなに?
7.
Q. ドメイン駆動設計ってなに? A. ドメインモデルを中心においた ソフトウェアの設計/実装手法
8.
Q. ドメインモデルってなに?
9.
Q. ドメインモデルってなに? A. ドメイン(特定のビジネス領域)に おける知識をモデル化したもの
10.
Q. ドメインモデルってなに?別解 A. オブジェクト指向に則って切り出 した、属性と振る舞いを持つ オブジェクト
11.
Q. どれがドメインモデル?
12.
Q. どれがドメインモデル? A. RPGだと、プレイヤー、モンスタ ー、アイテム、装備(状態)、呪文、 フィールド
13.
Q. どれがドメインモデル?別解 A. 出会い系だと、ユーザ、仮想通貨、 メッセージ、残高、入出金、ブロッ ク、身分証明
14.
少し戻って
15.
Q. ドメインモデルってなに? A. ドメイン(特定のビジネス領域)に おける知識をモデル化したもの
16.
ドメインモデルは、 技術的な内容に特化していないため 非エンジニアを含む全関係者で 共通言語として使用出来る
17.
共通言語が無いと コミュニケーションミス 知識の分散化 設計と実装の乖離
18.
共通言語は大事
19.
ここまでは設計の話
20.
ここからは実装の話
21.
ドメイン駆動設計においての実装
22.
アーキテクチャ
23.
DDDにおけるレイヤーアーキテクチャ ドメインモデルをUIや永続化といったロジックから分離し、 ドメインロジックのみを純粋に表現できる状態に保つことが目的 ユーザインターフェース層 ユーザに対して情報を表示し、ユーザの命令 を解釈 アプリケーション層 ドメインモデルを組み合わせ協調させるため の処理を行う薄いレイヤ。ビジネスロジック を含まない。 ドメイン層
ドメインモデルなど、ドメインについての情 報を含むレイヤ。 インフラストラクチャ層 ドメインモデルの永続化を担当。DBとかKVS とかを抽象的に表現。
24.
ただ、レイヤードはもう古い
25.
最新DDDアーキテクチャとAkkaでの実装ヒントについて by じゅんいち☆かとう
26.
DDD + Clean
Architecture + UCDOM Full版 by Yoshitaka Okuda
27.
モデルの種類+α
28.
DDDにおけるモデル+α エンティティ 永続化するもの。IDなどでユニークに管理。 バリューオブジェクト(VO) 永続化しないもの。一過性である場合が多く、 IDなどで管理されない。 サービス
エンティティでもバリューオブジェクトでも 表現できないロジックの集約先 リポジトリ 永続化へのインターフェースを提供する。エ ンティティに対する永続化インターフェース のため、永続方法は問わない。
29.
アグリゲート、ファクトリ、モジュ ール、他にも色々
30.
ドメインモデル貧血症
31.
ドメインモデル貧血症とは 全てのドメインロジックが、 本来あるべきドメインモデルから 外に漏れでてしまっている状態
32.
ドメインモデル貧血症とは(別解 エンティティには属性しかなく、 肝心のドメインロジックは全て サービスなどに手続き的に記述され ている状態
33.
ドメインモデル貧血症が起こす弊害 [ゴッドクラス] 大量のメソッドを保有する万能クラ ス。IDEが死ぬ [ゴッドメソッド] 大量の引数を持ち、指定されるデー タのパターンによって振る舞いがか わる万能メソッド。改修時に死ぬ
34.
ドメインモデル貧血症は ソフトウェア開発でよく見る光景 変更があった際に影響が出やすい
35.
ドメイン駆動設計では ドメインモデル貧血症を防ぎ ドメインモデルを設計と同じ状態で コード上でも表現することを目的と している
36.
共通言語で統一 知識をモデルに集約 設計と実装を同じ状態で表現
37.
共通言語で統一 知識をモデルに集約 設計と実装を同じ状態で表現 ビジネスに変更があった場合に強い
38.
最初に戻って
39.
Q. ドメイン駆動設計ってなに? A. ドメインモデルを中心においた ソフトウェアの設計/実装手法
40.
Q. ドメイン駆動設計を採用する理由
41.
Q. ドメイン駆動設計を採用する理由 A.ビジネスの変化にも耐えられる ソフトウェア構造を表現できるから
42.
[今日のゴール] ドメイン駆動設計に 興味をもってもらう
43.
興味出た人は、 DDDで検索すると良いです
Jetzt herunterladen