是否存在两种复杂系统状态之间转换的模式/设计?

时间:2016-02-04 14:20:05

标签: design-patterns software-design

我想知道两个复杂系统状态之间是否存在转换模式。

例如,使用Amazon Web Services有一个名为CloudFormation的系统,它是您定义为JSON的基础结构。

当您想要更新此内容时,您可以为AWS提供所需的基础架构,它了解您当前的基础架构,计算它们之间的步骤并执行它们。它可以根据需要智能地进行少量更改。

该模式/方法的通用名称是什么?

1 个答案:

答案 0 :(得分:0)

我不知道有一个共识期。 Chef使用“收敛”,我喜欢它,因为它传达了起始状态可能或可能不接近所需状态的想法。 Puppet使用“apply”而CloudFormation使用“update”,这两者都不具备说服力。

我能想到的另一个例子是数据库迁移,例如,在Rails中。 “迁移”在其他环境中意味着其他东西,因此使用它来表示将更改应用于数据库模式是一个可疑的选择。