Scala 领域建模实战:ADT、类型驱动设计与模块化架构
用 Scala 做领域建模的方法论:ADT(sealed trait + case class)建模领域对象、opaque type 值对象防混淆、类型驱动设计、错误建模(Either)、依赖注入(given/ZLayer)、六边形架构与状态机。
tag
用 Scala 做领域建模的方法论:ADT(sealed trait + case class)建模领域对象、opaque type 值对象防混淆、类型驱动设计、错误建模(Either)、依赖注入(given/ZLayer)、六边形架构与状态机。
Scala 是一门融合面向对象与函数式编程的多范式 JVM 语言,由 Martin Odersky 于 2004 年设计。本专题系统覆盖 Scala 函数式编程(不可变/纯函数/高阶函数/Option)、集合库与性能选型、类型系统(泛型/ADT/协变逆变/类型类)、Actor 并发与 Akka 集群(监督/集群分片/容错)、纯函数式效果系统(Cats Effect IO / ZIO)、类型安全数据库访问(Slick/Doobie/Quill)、Web 与 HTTP 服务(Play/akka-http/http4s)、Scala 3 元编程(inline/Match Types/宏)、测试体系(ScalaTest/MUnit/ScalaCheck)与构建工具(sbt/Mill/Scala CLI)、大数据生态(Spark RDD/DataFrame/DAG 优化)以及 Scala 3(Dotty)新特性与迁移,进一步扩展流处理(Akka Streams/fs2/反压)、类型级编程(Shapeless/Match Types/编译期计算)、跨平台(Scala.js/Scala Native/crossProject)、JVM 性能调优(JIT/GC/热点)、领域建模(ADT/opaque type/六边形架构)与微服务实践(拆分/通信/Saga/可观测性),为 JVM 生态下的函数式、高并发、大数据与工程化开发提供完整指南。
Nix 表达式语言是一种纯函数式领域特定语言,用于描述软件包和系统配置。本文详解 Nix 的语法特性、数据类型、函数定义、惰性求值和模块系统。