<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ADT on PlumePHP</title><link>https://plumephp.com/tags/adt/</link><description>Recent content in ADT on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 28 Sep 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/adt/index.xml" rel="self" type="application/rss+xml"/><item><title>Scala 领域建模实战：ADT、类型驱动设计与模块化架构</title><link>https://plumephp.com/scala-domain-modeling/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/scala-domain-modeling/</guid><description>&lt;h2 id="引言"&gt;引言&lt;/h2&gt;
&lt;p&gt;领域建模决定代码的「形状」——模型烂，后续所有功能都别扭。Scala 的建模语言是&lt;strong&gt;类型&lt;/strong&gt;：&lt;code&gt;sealed trait&lt;/code&gt; 表达「互斥的分支」，&lt;code&gt;case class&lt;/code&gt; 表达「不可变的值」，&lt;code&gt;opaque type&lt;/code&gt; 隔离「语义不同的同值类型」，&lt;code&gt;Either&lt;/code&gt; 表达「可能出错的计算」。本文按一条主线展开：从 ADT 建模领域对象，到值对象与类型驱动设计，再到错误建模、依赖注入、六边形架构与状态机，最后给出演进与重构成熟度模型。&lt;/p&gt;</description></item><item><title>Scala 类型系统实战：泛型、ADT、协变逆变与类型类</title><link>https://plumephp.com/scala-type-system/</link><pubDate>Sun, 27 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/scala-type-system/</guid><description>&lt;h2 id="引言"&gt;引言&lt;/h2&gt;
&lt;p&gt;Scala 类型系统是 JVM 上最强类型系统之一，也是「为什么写 Scala 不容易出错」的底气。它允许你用&lt;strong&gt;类型本身来表达领域约束&lt;/strong&gt;：&lt;code&gt;Option[Int]&lt;/code&gt; 告诉你「可能没有值」、&lt;code&gt;Either[String, Order]&lt;/code&gt; 告诉你「失败带原因」、case class 建模出的 ADT 让非法状态根本编译不过。&lt;/p&gt;</description></item></channel></rss>