总结回顾

在领域建模中,细节决定成败。Rust 提供了丰富的工具集,帮助你直接在类型系统中表达领域约束,但这需要通过实践来熟练掌握,以编写出既正确又符合习惯的代码。

让我们通过对 Ticket 模型的最后一次优化来结束这一章。我们将为 Ticket 结构体中的每个字段引入一个新的类型,以封装各自的具体约束。这样一来,每次有人访问 Ticket 的字段时,他们得到的都将是一个确保有效的值——比如,一个 TicketTitle 而非一个普通的 String。他们在代码的其他部分就不必担心标题为空的问题了:只要他们拥有了一个 TicketTitle,就可以凭借其构造方式知道它是有效的。

这仅仅是利用 Rust 类型系统使你的代码更安全、更具表现力的一个示例。

参考练习

  • 本节相关的练习位于 exercises/05_ticket_v2/15_outro

深入阅读