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
760
0
Share
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
820
戦略的DDDは重いのか? / Is strategic DDD heavy?
pictiny
4
3.1k
戦略的DDDを実践するための跳躍力 / OOC 2024
pictiny
9
11k
どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
pictiny
7
5.1k
おかしな名前 ~ 🔥編 ~ / Strange Name
pictiny
1
340
ドローンの会社は生成AIをどう活用するか / Generative AI Bounenkai 2023
pictiny
0
500
日報には"今日の一番大きな成果"を書こう / Kichijoji.pm 34
pictiny
1
1.3k
Scalaの現場から学ぶ設計 告知 / genba sekkei vol.2 announce
pictiny
1
190
現場から学ぶシステム設計:座談会 / genba sekkei vol 1
pictiny
5
2k
Other Decks in Programming
See All in Programming
Swift Concurrency Type System
inamiy
0
350
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
2
120
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
530
感情を設計する
ichimichi
5
1.3k
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
180
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
250
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
350
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
330
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
6
3.1k
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
440
安いハードウェアでVulkan
fadis
1
930
へんな働き方
yusukebe
6
2.9k
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
110
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
Test your architecture with Archunit
thirion
1
2.2k
Leo the Paperboy
mayatellez
7
1.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
It's Worth the Effort
3n
188
29k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Documentation Writing (for coders)
carmenintech
77
5.3k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
680
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
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が身近になっている事例があれば