Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Scalaの現場から学ぶ設計:座談会 / genba sekkei vol 2
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
集約のエンティティ
March 19, 2022
Programming
800
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Scalaの現場から学ぶ設計:座談会 / genba sekkei vol 2
2022年3月19日に開催された ScalaMatsuri 2022 で開催した座談会のスライドです。
https://scalamatsuri.org/
集約のエンティティ
March 19, 2022
More Decks by 集約のエンティティ
See All by 集約のエンティティ
組織を強くするPdMのマインド / PMHub vol.2
pictiny
5
840
戦略的DDDは重いのか? / Is strategic DDD heavy?
pictiny
4
3.1k
戦略的DDDを実践するための跳躍力 / OOC 2024
pictiny
9
11k
どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
pictiny
8
5.2k
おかしな名前 ~ 🔥編 ~ / Strange Name
pictiny
2
360
ドローンの会社は生成AIをどう活用するか / Generative AI Bounenkai 2023
pictiny
0
530
日報には"今日の一番大きな成果"を書こう / Kichijoji.pm 34
pictiny
1
1.3k
Scalaの現場から学ぶ設計 告知 / genba sekkei vol.2 announce
pictiny
1
210
現場から学ぶシステム設計:座談会 / genba sekkei vol 1
pictiny
5
2.1k
Other Decks in Programming
See All in Programming
Flow は今どうなっているか
mizdra
PRO
0
770
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
520
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
370
リアルな遅延を測る仕様
kota_yata
1
130
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4k
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
450
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
110
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
400
Deep dive into the select statement (GopherCon UK)
jespino
0
160
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
280
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
320
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
460
Featured
See All Featured
Believing is Seeing
oripsolob
1
200
How to Ace a Technical Interview
jacobian
281
24k
The browser strikes back
jonoalderson
0
1.6k
First, design no harm
axbom
PRO
2
1.3k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
390
Joys of Absence: A Defence of Solitary Play
codingconduct
1
450
GraphQLとの向き合い方2022年版
quramy
50
15k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Everyday Curiosity
cassininazir
0
300
Are puppies a ranking factor?
jonoalderson
2
3.9k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Transcript
Scalaの現場から学ぶ 設計 座談会 2022.03.19
None
本セッションについて • アルプは社内で定期的に設計についての相談会を実施 • 今回はScalaMatsuriのバーチャルブースを借りて相談会の出張版となります • 質問やコメントはDiscordの #alp-雑談と実況 チャンネルにご投稿ください •
ツイッターのハッシュタグ #genba_sekkei もご利用ください
今日のテーマ オブジェクト指向(OOP)と関数型(FP)について
アルプにおけるOOPとFP • アルプではScalaでOOPをしっかりやっている ◦ DDDにも注力している • 同時にFPのエッセンスもプロダクトに取り入れている ◦ 一番の具体例は Eff
• アルプでのFP ◦ 静的型付き言語の表現力を上げるために使っている ◦ 可読性を上げるためのアーキテクチャの一部 相談(トークテーマ) • 設計の観点で、どういうときにFP(OOP)の要素が役に立つか • こう使うと可読性が上がるよね、などの言語化
OOPとFPの対立 • OOPとFPは対比して語られることが多い ◦ 部分的には相反しているかもしれないけど ◦ 全てが相反しているわけではない • ステートレスなOOPはOOPではないのか? ◦
そんなはずはない • 相反していないから、部分的に共存できる ◦ 両方の要素を実用的に取り入れている Scalaいいよね 相談(トークテーマ) • 双方のいいところを両取りしていくには • 何が相反していて、何が相反していないのか
2022年のFP • FPはどうしても難しい話から入ってしまいがち ◦ 高階関数、モナド、モナトラ • アルプではあまり意識せずにFPのエッセンスを使えている ◦ モナドがわからなくても for式で合成してくれる便利な道具(
Eff)がある • 他社の事例にもそういう流れはないのだろうか ◦ FPが実は身近になっている説 相談(トークテーマ) • FPが身近になっている事例があれば