Update ch17-03-oo-design-patterns.md (#85)

Co-authored-by: YangQi <2419731931@qq.com>
This commit is contained in:
liuyanjie 2022-06-10 14:49:47 +08:00 committed by GitHub
parent f0effa5e66
commit bb8a9e64d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,7 +2,7 @@
**状态模式***state pattern*)是一个面向对象设计模式。该模式的关键在于一个值有某些内部状态,体现为一系列的 **状态对象**,同时值的行为随着其内部状态而改变。状态对象共享功能:当然,在 Rust 中使用结构体和 trait 而不是对象和继承。每一个状态对象负责其自身的行为,以及该状态何时应当转移至另一个状态。持有一个状态对象的值对于不同状态的行为以及何时状态转移毫不知情。
使用状态模式意味着当程序的业务需求改变时,无需改变值持有状态或者使用值的代码。我们只需更新某个状态对象中的代码来改变其规则,或者是增加更多的状态对象。让我们看看一个有关状态模式和如何在 Rust 中使用它的例子。
使用状态模式意味着当程序的业务需求改变时,无需修改保存状态值的代码或使用值的代码。我们只需更新某个状态对象内部的代码,即可改变其规则,也可以增加更多的状态对象。让我们看看一个有关状态模式和如何在 Rust 中使用它的例子。
为了探索这个概念,我们将实现一个增量式的发布博文的工作流。这个博客的最终功能看起来像这样: