Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Scalaの現場から学ぶ設計:座談会 / genba sekkei vol 2
Search
集約のエンティティ
March 19, 2022
Programming
0
720
Scalaの現場から学ぶ設計:座談会 / genba sekkei vol 2
2022年3月19日に開催された ScalaMatsuri 2022 で開催した座談会のスライドです。
https://scalamatsuri.org/
集約のエンティティ
March 19, 2022
Tweet
Share
More Decks by 集約のエンティティ
See All by 集約のエンティティ
組織を強くするPdMのマインド / PMHub vol.2
pictiny
5
800
戦略的DDDは重いのか? / Is strategic DDD heavy?
pictiny
4
3k
戦略的DDDを実践するための跳躍力 / OOC 2024
pictiny
9
10k
どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
pictiny
7
5k
おかしな名前 ~ 🔥編 ~ / Strange Name
pictiny
1
320
ドローンの会社は生成AIをどう活用するか / Generative AI Bounenkai 2023
pictiny
0
470
日報には"今日の一番大きな成果"を書こう / Kichijoji.pm 34
pictiny
1
1.2k
Scalaの現場から学ぶ設計 告知 / genba sekkei vol.2 announce
pictiny
1
180
現場から学ぶシステム設計:座談会 / genba sekkei vol 1
pictiny
5
2k
Other Decks in Programming
See All in Programming
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
1k
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
10
11k
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
160
[SF Ruby Conf 2025] Rails X
palkan
0
440
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
150
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
170
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
400
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
200
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
730
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.1k
関数実行の裏側では何が起きているのか?
minop1205
1
580
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
5
1.2k
Featured
See All Featured
Navigating Team Friction
lara
191
16k
4 Signs Your Business is Dying
shpigford
186
22k
BBQ
matthewcrist
89
9.9k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
380
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
80
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Typedesign – Prime Four
hannesfritz
42
2.9k
The Language of Interfaces
destraynor
162
25k
Automating Front-end Workflow
addyosmani
1371
200k
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が身近になっている事例があれば