低代码平台技术分享官 | 漫话iGIX前端设计模式

设计模式是一个程序员进阶高级的必备技巧,也是评判一个工程师工作经验和能力的试金石。设计模式是程序员多年工作经验的凝练和总结,能够更大限度的优化代码以及对已有代码进行合理重构。但如果你还不知道如何使用设计模式提升前端开发质量,那就用Farris吧!

浪潮海岳PaaS平台iGIX以用户为中心自研的Farris体系内置常用设计模式,即使你是开发小白,也能写出高质量的代码。

工厂模式 · 绘制表单的生产线

如果将实例化类与使用行为放在一起,势必会造成功能职责划分混乱、代码阅读困难、Bug难以查找等问题,此时采用工厂模式就可以最大限度的避免上述问题。剥离业务逻辑中的实现细节,将细节转移并统一处理、将创建过程由上层转移至下层,你就能从容应对创建大量对象。

在看似神奇的表单设计器画布绘制页面的过程中,就充分利用了工厂模式,为每一个设计组件分配独属工作车间,从容应对并创建100+ UI组件。

建造者模式 · 建造前端页面的工程师

建一幢房子,首先要准备水泥,钢筋,砖块等原材料,然后开始盖房过程,盖一层、二层、三层直至最高层,最后经过通电、通水等多道"工序"才能完成建造。其中每一道工序都是对产品的全新创建,但是我们只关心最后的产品------【房子】。

当面临创建一个复杂对象时,如果每个子对象都需要按照一定的顺序组合而成,并且能够随着需求变化,复杂对象的各个子对象也随之变化,同时保持组合顺序稳定,这时就可以考虑使用建造者模式。

Farris采用建造者模式构造前端实体、Form表单、状态机、视图模型、前端组件等复杂对象,将一个复杂的构建过程与其表现分离,使用同样的构建过程和顺序创建不同页面。

原型链模式 · 前端对象中的造血干细胞

在实际开发中,如果需要在运行期像细胞分裂一样,通过已创建的实例复制与自身一模一样的对象,这时就可以使用"原型链模式"。

Farris的前端实体就像前端页面的造血干细胞,在加载大量数据的过程中不断分裂,即便面对10万条数据的超大列表,展示起来也一样从容不迫。

命令模式 · 页面交互中的魔法师

在开发中会遇到多个技能排序释放,事件到达一定阈值时触发,对操作进行"记录、撤销、重做"等需求。在以上情况下,需要将"行为请求者"与"行为实现者"解耦。将一组行为抽象为对象,可以实现二者之间的松耦合。为了满足这种需求,可以考虑使用命令模式。

命令模式是应对这类需要排序执行操作的首选,可以显著降低系统的耦合度,对于后期的需求变动也符合开闭原则。

最后插个安利,inBuilder开源社区版,可免费下载、免费试用,大家可点击下载体验。

相关推荐
翻滚吧键盘12 分钟前
vue绑定一个返回对象的计算属性
前端·javascript·vue.js
秃了也弱了。31 分钟前
Chrome谷歌浏览器插件ModHeader,修改请求头,开发神器
前端·chrome
乆夨(jiuze)1 小时前
记录H5内嵌到flutter App的一个问题,引发后面使用fastClick,引发后面input输入框单击无效问题。。。
前端·javascript·vue.js
忧郁的蛋~1 小时前
HTML表格导出为Excel文件的实现方案
前端·html·excel
小彭努力中1 小时前
141.在 Vue 3 中使用 OpenLayers Link 交互:把地图中心点 / 缩放级别 / 旋转角度实时写进 URL,并同步解析显示
前端·javascript·vue.js·交互
然我2 小时前
别再只用 base64!HTML5 的 Blob 才是二进制处理的王者,面试常考
前端·面试·html
NanLing2 小时前
【纯前端推理】纯端侧 AI 对象检测:用浏览器就能跑的深度学习模型
前端
呆呆的心2 小时前
前端必学:从盒模型到定位,一篇搞定页面布局核心 🧩
前端·css
小飞悟2 小时前
前端高手才知道的秘密:Blob 居然这么强大!
前端·javascript·html
小old弟2 小时前
用Sass循环实现炫彩文字跑马灯效果
前端