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

クラウド電子カルテを支えるテクノロジーの光と闇

Avatar for Jun Tomioka Jun Tomioka
October 15, 2018

 クラウド電子カルテを支えるテクノロジーの光と闇

Avatar for Jun Tomioka

Jun Tomioka

October 15, 2018
Tweet

More Decks by Jun Tomioka

Other Decks in Technology

Transcript

  1. 光 複雑な業務知識に立ち向かう • Scala ◦ 管理しやすく(OOP)、堅牢 (FP) • Functional Programming

    ◦ テスト・再利用が容易 ◦ 点数計算は巨大な関数 • Clean Architecture ...のエッセンスを拝借 ◦ 複雑な計算ルールを作用と分離
  2. 光 Entities • コアになるビジネスルールを表現 ◦ 会計計算・保険請求用の集計処理 • [FP] 純粋なコンポーネントのみで構成 ◦

    定数・不変オブジェクトのみ利用 ◦ IO, Future, Exceptionといった作用無し ◦ テスト・再利用・理解しやすい ▪ ここを一番厚くテストしたい
  3. 光 Use Cases • 永続化など含むアプリケーション要件 ◦ DBIO, Future が出てくるのはこの層 •

    [Scala] for 式による作用の直列処理 ◦ 作用を起こす場所を一箇所に • [Scala] Tagless Final による作用の抽象化 ◦ ...をできたら良いなと思っている ◦ この層もよりtestableに
  4. 光 sbt multi project builds • 依存関係を明記 ◦ UseCases層はEntities層 に依存

    ◦ Entities層はDBアクセスライブラリに非 依存 • 依存関係のないコードを読めなくなる。