总结回顾
在领域建模中,细节决定成败。Rust 提供了丰富的工具集,帮助你直接在类型系统中表达领域约束,但这需要通过实践来熟练掌握,以编写出既正确又符合习惯的代码。
让我们通过对 Ticket
模型的最后一次优化来结束这一章。我们将为 Ticket
结构体中的每个字段引入一个新的类型,以封装各自的具体约束。这样一来,每次有人访问 Ticket
的字段时,他们得到的都将是一个确保有效的值——比如,一个 TicketTitle
而非一个普通的 String
。他们在代码的其他部分就不必担心标题为空的问题了:只要他们拥有了一个 TicketTitle
,就可以凭借其构造方式知道它是有效的。
这仅仅是利用 Rust 类型系统使你的代码更安全、更具表现力的一个示例。
参考练习
- 本节相关的练习位于
exercises/05_ticket_v2/15_outro