设计模式: 关于编程范式的声明式和命令式编程及应用框架的开发和设计原则
2023-12-13 03:52:33
编程范式
- 命令式编程
- 声明式编程
上述两种范式是相对来说的
命令式编程
- 详细描述做事过程的方式就可以叫做 命令式
- 例子: 张三妈妈让张三买食盐
- 拿钱,开门,下楼,到商店,付款,带着食盐回家
- 例子:在指定div中展示hello world 文本
var divEle = document.querySelector('#app') divEle.innerHTML = 'hello world'
- 上述div的例子代码虽然只有两部,但是它清晰描述了,完成这件事情,所需要经理的过程
- 如果我们所做的事情变复杂了,那整个过程也会变得更加复杂
- 总之:命令式是:关注过程的一种编程范式类似面向过程编程思想,但不一定是面向过程,它描述了完成一个功能的详细逻辑与步骤
声明式编程
- 声明式:不关注过程,只关注结果的 范式,它并不关心完成一个功能的详细逻辑与步骤,(这并不意味着声明式不需要过程,只是把过程隐藏了)
- 张三的妈妈说的话,就是声明式编程
- 例如:模板语法
<div> {{ msg }} </div>
命令式 VS 声明式
- 哪种好?由两个方向来对比
- 性能
- 可维护性
1 )性能
- 例子
div.innerText = 'hello world'
这行代码耗时为1<div>{{ msg }}</div>
这行代码耗时为 1 + n 这里的n是解析处理msg到页面渲染的整个过程
- 上述例子,我们用耗时来代表性能,耗时越少,性能越强
- 我们知道:声明式耗时 >= 命令式耗时,即:命令式性能 >= 声明式性能
2 ) 可维护性
- 可维护性是指,对代码可以方便的 阅读,修改,删除,增加
- 说白了,代码逻辑越简单,可维护性越强
- 基于vue的声明式代码可维护性 > 原生js命令式代码的可维护性
企业应用框架的开发和设计原则
- 企业应用开发和设计如何权衡命令式和声明式两种维度的选择
- 对不同的企业类型,不同的项目类型 (前台,中台,后台)来说,对应的企业应用设计也存在差异
- 最关注的两个指标
- 项目成本: 主要看项目的开发周期,开发周期越长,所付出的人员成本越高,从而导致项目成本越来越高
- 开发体验: 决定开发者开发体验的核心要素,主要是在开发时和阅读时的难度,这个叫做:心智负担, 声明式开发体验更好,心智负担更低
- 框架的设计是一个不断取舍的过程,就像是算法一样,没有最优,而是最均衡合适的
- 1)命令式性能 > 声明式性能
- 2)命令式可维护性 < 声明式可维护性
- 3)声明式的框架本质上是由命令式的代码来去实现的
- 4)企业项目开发,多使用声明式
框架开发和设计原则
- 在使用vue时是基于声明式的,但是vue内部是通过命令式来实现的
- vue封装了命令式的逻辑,对外暴露出了声明式的接口
- 原因在于命令式的可维护性 < 声明式的可维护性
- vue需要做的是,封装命令式逻辑,同时尽可能减少性能的损耗,在性能和可维护性之间,找到一个平衡点
- vue的设计原则是:在保证可维护性的基础上,尽可能减少性能损耗
文章来源:https://blog.csdn.net/Tyro_java/article/details/134890611
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!