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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
云上工程笔记33 分钟前
AstraFlow + React/Vite:如何用自然语言开发并部署一个 AI 咖啡网站原型
前端·人工智能·react.js
Q一件事1 小时前
ArcGIS中TypeError: can‘t multiply sequence by non-int of type ‘str‘错误
前端·javascript·arcgis
美狐美颜SDK开放平台1 小时前
从视频处理到实时渲染:直播APP中视频美颜SDK的关键技术解析
前端·人工智能·架构·实时互动·音视频·视频美颜sdk
yume_sibai2 小时前
ES6 核心知识点完全总结(变量 + 箭头函数 + 解构 + Promise + 模块化)
前端·ecmascript·es6
Moment2 小时前
为什么市面上的 coding agent 大多数都基于Nodejs?
前端·后端·面试
吃瓜的猹2 小时前
Gemini 3.8 Flash 是真的站起来了,一起来看看我到底做了什么吧~
前端
光影少年2 小时前
React18 对RN 的影响
android·前端·react.js·ios·前端框架
tryCbest2 小时前
Vue Router学习及使用
前端·vue.js
杉氧2 小时前
丝滑的奥秘:Reanimated 3 动画引擎与手势处理(Gesture Handler)
android·前端·react native
用户970161501682 小时前
浏览器切到后台后,AI 给我的代码就失效了:我拿 3 个模型测了 6 个定时器坑
前端·代码规范