美文网首页
声明式设计

声明式设计

作者: 一舍 | 来源:发表于2020-03-24 09:46 被阅读0次

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

什么是声明式设计(Declarative)

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

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

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

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

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

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

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

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

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

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

声明式设计的好处:

  • 描述文件易于理解,利于多人维护,便于文档化和版本管理,可以由开发人员参与编写
  • 天然具备事务性
  • 在不同目标环境可以产生一致结果
  • 重复执行不会产生不一致的结果
  • 天然符合不可变基础设施的理念

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

declarative.jpeg

相关文章

  • 声明式设计

    Kubernetes的重要设计理念之一,即声明式设计(Declarative)。 什么是声明式设计(Declara...

  • react

    什么是声明式编程 声明式编程 vs 命令式编程 什么是函数式编程 什么是组件设计模式 React 是什么 Reac...

  • vue.js 设计与实现(一)

    vue框架设计的缘由:1、在框架的设计中,更希望采用声明式代码提供给用户,声明式代码更注重结果,用户只需书写框架规...

  • Vue设计与实现——读书笔记(1)

    第一篇 框架设计概览 权衡的艺术 视图层框架通常分为命令式和声明式 命令式框架的一大特点就是关注过程 声明式框架更...

  • 面试常见问题2

    React特点 1.声明式设计−React采用声明范式,可以轻松描述应用。 2.高效−React通过对...

  • React基础

    React是用于构建用户界面的 JavaScript 库 特点 1.声明式设计 −React采用声明范式,可以轻松...

  • react基础

    定义:用于构建用户界面的 JavaScript 库 特点 1.声明式设计 −React采用声明范式,可以轻松描述应...

  • react

    React 特点1.声明式设计 −React采用声明范式,可以轻松描述应用。 2.高效 −React通过对DOM的...

  • 1.react概念及基础语法

    React 特点 1.声明式设计 −React采用声明方式,可以轻松描述应用。2.高效 −React通过对DOM的...

  • Web前端三大主流框架

    React: 1.声明式设计:React采用声明范式,可以轻松描述应用。 2.高效:React通过对DOM的模拟,...

网友评论

      本文标题:声明式设计

      本文链接:https://www.haomeiwen.com/subject/xjgnyhtx.html