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
集約のエンティティ
March 19, 2022
Programming
0
570
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
4
670
戦略的DDDは重いのか? / Is strategic DDD heavy?
pictiny
4
2.6k
戦略的DDDを実践するための跳躍力 / OOC 2024
pictiny
9
8.8k
どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
pictiny
7
4.5k
おかしな名前 ~ 🔥編 ~ / Strange Name
pictiny
1
260
ドローンの会社は生成AIをどう活用するか / Generative AI Bounenkai 2023
pictiny
0
350
日報には"今日の一番大きな成果"を書こう / Kichijoji.pm 34
pictiny
1
1.1k
Scalaの現場から学ぶ設計 告知 / genba sekkei vol.2 announce
pictiny
1
150
現場から学ぶシステム設計:座談会 / genba sekkei vol 1
pictiny
5
1.8k
Other Decks in Programming
See All in Programming
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
310
PLoP 2024: The evolution of the microservice architecture pattern language
cer
PRO
0
1.1k
CSC509 Lecture 07
javiergs
PRO
0
140
Server Driven Compose With Firebase
skydoves
0
350
CSC305 Lecture 13
javiergs
PRO
0
120
Android 15 でアクションバー表示時にステータスバーが白くなってしまう問題
tonionagauzzi
0
110
offers_20241022_imakiire.pdf
imakurusu
2
310
ピクシブ百科事典のWebフロントエンドパフォーマンス改善
higara
0
230
Nuxt UI Pro、NuxtHub、Nuxt Scripts、Nuxtエコシステムをふんだんに利用して開発するコーポレートサイト@Vue Fes Japan 2024
shingangan
3
840
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
10
4.3k
Identifying User Idenity
moro
4
6.1k
Vue.js学習の振り返り
hiro_xre
2
130
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
670
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
How to train your dragon (web standard)
notwaldorf
88
5.6k
Making the Leap to Tech Lead
cromwellryan
132
8.9k
Code Review Best Practice
trishagee
64
17k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Fashionably flexible responsive web design (full day workshop)
malarkey
404
65k
Building an army of robots
kneath
302
42k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
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が身近になっている事例があれば