Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scalaの現場から学ぶ設計:座談会 / genba sekkei vol 2

Scalaの現場から学ぶ設計:座談会 / genba sekkei vol 2

2022年3月19日に開催された ScalaMatsuri 2022 で開催した座談会のスライドです。
https://scalamatsuri.org/

More Decks by 集約のエンティティ

Other Decks in Programming

Transcript

  1. Scalaの現場から学ぶ
    設計 座談会
    2022.03.19

    View Slide

  2. View Slide

  3. 本セッションについて
    ● アルプは社内で定期的に設計についての相談会を実施
    ● 今回はScalaMatsuriのバーチャルブースを借りて相談会の出張版となります
    ● 質問やコメントはDiscordの #alp-雑談と実況 チャンネルにご投稿ください
    ● ツイッターのハッシュタグ #genba_sekkei もご利用ください

    View Slide

  4. 今日のテーマ
    オブジェクト指向(OOP)と関数型(FP)について

    View Slide

  5. アルプにおけるOOPとFP
    ● アルプではScalaでOOPをしっかりやっている
    ○ DDDにも注力している
    ● 同時にFPのエッセンスもプロダクトに取り入れている
    ○ 一番の具体例は Eff
    ● アルプでのFP
    ○ 静的型付き言語の表現力を上げるために使っている
    ○ 可読性を上げるためのアーキテクチャの一部
    相談(トークテーマ)
    ● 設計の観点で、どういうときにFP(OOP)の要素が役に立つか
    ● こう使うと可読性が上がるよね、などの言語化

    View Slide

  6. OOPとFPの対立
    ● OOPとFPは対比して語られることが多い
    ○ 部分的には相反しているかもしれないけど
    ○ 全てが相反しているわけではない
    ● ステートレスなOOPはOOPではないのか?
    ○ そんなはずはない
    ● 相反していないから、部分的に共存できる
    ○ 両方の要素を実用的に取り入れている Scalaいいよね
    相談(トークテーマ)
    ● 双方のいいところを両取りしていくには
    ● 何が相反していて、何が相反していないのか

    View Slide

  7. 2022年のFP
    ● FPはどうしても難しい話から入ってしまいがち
    ○ 高階関数、モナド、モナトラ
    ● アルプではあまり意識せずにFPのエッセンスを使えている
    ○ モナドがわからなくても for式で合成してくれる便利な道具( Eff)がある
    ● 他社の事例にもそういう流れはないのだろうか
    ○ FPが実は身近になっている説
    相談(トークテーマ)
    ● FPが身近になっている事例があれば

    View Slide