SlideShare a Scribd company logo
アーキテクチャ勉強会 モデ
リング会3 2019/7/21
事前共有
wi
ID:Guest For Geekhouse-Living
password:dadadada
トイレ
2階は上り階段の右隣です
飲み物、軽食
お酒やスナックご用意ございます。ご自由にどうぞ
お前is 誰
name:nari
ギークハウス新宿の住人
wano株式会社で動画配信系サービスのサーバサイ
ドエンジニア
twitter:@fukubaka0825
趣味:フェス、音楽、服
興味領域:アーキテクチャ、SRE
What is アーキテクチャ勉強会
設計に関するテーマで議論やハンズオンを2週間
に1度やっていく少人数の勉強会(予定)
しばらくは、モデリング会をやっていく
Why was アーキテクチャ勉強会
launched
定期的に設計を参加型で学べる勉強会がなかった
勉強会主催ってちょっとかっこよくてやってみた
かった
What is モデリング会
あるお題とusecaseにそってドメインモデルを育
て、モデリングマスターを目指す会
月1、2回くらいやっていき、1年くらいでモデリン
グちょっとわかるになりたい
本日のイベント概要
モデリング会
テーマは「会議室予約」今回でラスト次回からは
「映画チケット料金システム」本格的に
言語はGolang
4(5)人一つのチームで(A,B)
modeling-1-A/README.md at master ·
takafk9/modeling-1-A · GitHub
takafk9/modeling-1-B · GitHub
今回から新しいリポジトリ 「映画チケット料金
システム」用
AチームGitHub - takafk9/modeling-2-A: ticket
price system modeling(team A)
BチームGitHub - takafk9/modeling-2-B: ticket
price system modeling(team B)
本日のイベントの流れ
自己紹介(1810~1820)
前回までのモデリング再現、KPT共有復習進め方
共有(1820~1910)
映画チケット料金の機能要件を固める(ABそれぞ
れ)(1910~1950)
モデリングしていく、issueを育てる(1950~2030)
モデル共有(2030~2040)
KPT(2040~2050)
KPTとissueの共有(2050~2100)
懇親会(2100~2200)
本日のイベントのゴール
今回は前回までの会議室予約の復習と、映画チケ
ット料金の要件定義および頭出し
モデルと実装を行き来してモデルを"育てる"感覚を
つかむ
今回のUsecaseに関して要件を満たす想定までモデ
リングと実装が進むこと
しなければ次回続きをやります
前提
このイベントのモデリングの考え方は、DDDの考
え方に準拠します(画面と永続化層などからドメイ
ン層を切り離し、業務の関心ごとに集中する)
これから継続してご参加いただける方は、ある程
度前提のDDDの考え方や、用語を押さえておいて
いただけると議論が分散することを防げるかなと
思います
ざっくりとした頻出概念の説明
データソース層(repositoryパターン):データ永続化
とdomainモデルへの変換のみを司る集約という更
新の単位で形成される
アプリケーション層:リクエストの制御などを行う
進行役
domain層:業務ロジックが書いてある
domainmodel
エンティティ:同一性、連続性が重要で、属性が
持つ値によって同一性が担保されないオブジェ
クト
値オブジェクト:属性が持つ値によって同一性が
担保されるオブジェクト 使い捨てにできる
注意事項
まずは今回のUsecaseを実装することを目的として
ください
今回のUsecaseからはみ出す追加要件はissueと
して別で管理してください
次回以降このお題で継続してやる場合、仕様
変更案として採用します
眉唾ですが、設計に正解はないです。それでもガン
ガン議論しましょう。ヒートアップしてなんぼ
ただ、大人なのでスマートにね
domainserviceは、データに紐付けられない集約マ
タギのロジックが出てきたら奥の手として使いま
モデリングの際は、モデル間の依存関係をきちん
と記述しましょう
今回も永続化層とアプリ側とテストの用意はな
し このイベントに慣れてくればきっと準備して
いけると思います(今回はすみません、、)
積極的に図にして共有すること心がけましょう
型信者方式でいきましょう。(domain層で戻り値
プリミティブは非推奨。値オブジェクトで積極的
にラップしましょう)
準拠する参考書
エリックエヴァンスのドメイン駆動設計
実践ドメイン駆動設計(IDDD)
現場で役立つシステム設計の原則
もくもくモデリングの森を旅するチビドラゴンの
軌跡
ドメイン駆動設計再入門
BIGLOBEのモデリング勉強会資料
終わりに
初回で諸々不都合があり、申し訳ありませんでし
たが、feedbackを真摯にうけ、改善していきたい
と思っています
今日のモデルの写真とKPTとissueはそれぞれのチ
ームのGithubにアップしておきます。
単発ではなく継続して開催しますので、末長くよ
ろしくお願いします
みんなでアイデア出しをして、育てていく勉強会
にしたいです
みんなでこれからも設計に強く、実装に起こし易
いモデルを育てていきましょう!
アンケートがあります。任意ですが、ご要望、
feedbackあればこちらから
イベント参加者アンケート

More Related Content

Featured

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
 

Featured (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

Modeling7/21