声明式设计

2020-03-24  本文已影响0人  一舍

Kubernetes的重要设计理念之一,即声明式设计(Declarative)。

什么是声明式设计(Declarative)

声明式设计(Declarative),指的是这么一种软件设计理念和做法,我们向一个工具描述我们想要让一个事物达到的目标状态,由这个工具自己内部去处理如何令这个事物达到目标状态。

和Declarative(声明式设计)相对的是命令式设计(Imperative)或者过程式设计(Procedural)

命令式设计(Imperative)或者过程式设计(Procedural),描述的是一系列的动作,这一系列的动作如果被正确执行,最终结果将达到我们期望的目标状态。

声明式设计和命令式设计有什么区别

声明式设计,是告诉计算机你想要什么,由计算机自己去设计执行路径,如SQL;

命令式设计,是直接向计算机发出服务器要执行的操作命令;

相比于更关注状态和结果的声明式设计方式,命令式设计方式更强调过程。

声明式设计在分布式系统或者微服务架构场景下有什么优势

命令式设计方式需要提前设想目标环境可能出现的各种状况,并加以处理。在分布式系统和微服务架构中,环境更加动态、复杂,想要实现状态的一致性、事务性和版本化,需要付出巨大的代价。

如果使用声明式的设计思路,问题就会变得简单的多。编写一个描述文件,描述想要的结果,然后由系统解析这个描述文件,并自动生成预期结果。

声明式设计的好处:

声明式设计理念在分布式系统和微服务架构中如此重要,一位英国小伙伴在办公桌上钉了这样一个纸条时刻提醒自己

declarative.jpeg
上一篇 下一篇

猜你喜欢

热点阅读