资讯专栏INFORMATION COLUMN

好的业务组件设计

曹金海 / 1902人阅读

摘要:好的业务组件设计一个好的业务组件必然是逻辑清晰以及方便修改维护。一些涉及到的概念数据驱动单向数据流有限状态机模板模板应保证逻辑清晰,业务复杂的部分可拆分成独立的业务组件又或者通过组装数据关系。交互状态复杂的业务组件应用有限状态机以及。

好的业务组件设计

一个好的业务组件必然是逻辑清晰以及方便修改维护。

下面以 Vue 为例子进行进行概念上的简单说明。

一些涉及到的概念

数据驱动UI

单向数据流

有限状态机

模板

模板应保证逻辑清晰,业务复杂的部分可拆分成独立的业务组件又或者通过 computed 组装数据关系。

不应该在模板写逻辑语句,仅使用简单的条件判断以及方法调用或表达式。

状态的设计(data、computed)

状态分全局状态以及本地状态,全局状态就是 sotre(Vuex 或者自己另外定义的 Vue 对象),本地状态包括数据(data)以及根据数据响应的状态(computed)。

需要根据 data、store 或者 其他 computed 响应的同步状态都属于 computed,computed 必须是同步数据,computed 内部禁止任何异步操作。

所有需要异步获取以及无法由其他数据响应变化的数据都是 data。

有时候可以把 computed 作为一个不可写属性使用,返回一个常量或者其他想输入到模板的值。

原则是 data 的结构应清晰简单,数据之间的关系放在 computed。

数据的处理

服务器获取的数据不要在业务组件直接写请求,应通过 services 封装。

数据单位应保存一致(例如时间使用 13 位,金钱使用分),需要进行转换的数据按就近原则进行处理:如果是服务器数据在 services 进行转换,如果是用户输入的数据,通过 computed 进行 get/set 处理。

发送到服务器的数据也是一样,应在 services 里面处理数据的单位以及一些简单的判断。

保证代码的可维护性

代码、数据逻辑之间的关系应保持简单与一致,不应存在多种不同的业务关系模型。

单向数据流。

数据处理以及操作分开。

交互状态复杂的业务组件应用有限状态机以及 computed。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/97742.html

相关文章

  • 移动端开发:架构那点事!

    摘要:移动精英开发社群的第期,也是围绕架构这个话题进行讨论。本次我们希望结合实际开发中遇到的问题,来聊聊移动端的架构设计。这样的模式改进一些,可能会更适合移动端架构。潘卫杰之前我们公司移动端的大项目就是插座式开发的,批量出各个行业的。 此前,58 同城的技术委员会执行主席沈剑在 OneAPM 的技术公开课上分享过一个主题,「好的架构不是设计出来的,而是演技出来的」。因为对很多创业公司而言,随...

    KnewOne 评论0 收藏0
  • 云计算与 Cloud Native | 数人云CEO王璞@KVM分享实录

    摘要:分享实录云计算技术源于互联网公司,现在云计算已经是下一代企业级的发展趋势。如何做云计算一直是云计算技术的领导者。互联网公司的快速发展,已经印证了云计算技术和云原生应用相比传统构架的巨大优势。 今天小数又给大家带来一篇干货满满的分享——来自KVM社区线上群分享的实录,分享嘉宾是数人云CEO王璞,题目是《云计算与 Cloud Native》。这是数人云在KVM社区群分享的第一弹,之后还有数...

    _Zhao 评论0 收藏0
  • 简析React 和 Redux 的特点和关系

    摘要:这对复杂问题定位是有好处的。同时,也是纯函数,与的是纯函数呼应。强约束约定,增加了内聚合性。通过约定和全局的理解,可以减少的一些缺点。约定大于配置也是框架的主要发展方向。 React+Redux非常精炼,良好运用将发挥出极强劲的生产力。但最大的挑战来自于函数式编程(FP)范式。在工程化过程中,架构(顶层)设计将是一个巨大的挑战。要不然做出来的东西可能是一团乱麻。说到底,传统框架与rea...

    iOS122 评论0 收藏0
  • “乐高式松耦合”架构实战

    摘要:二乐高式松耦合架构落地快速实现需求与需求实现越来越慢的矛盾如何解决最终白山的产品架构聚焦在解耦上,方便平台快速迭代,减少系统间依赖程度,打通无关联项目,为运营互动提供高效支持,确保服务质量。 作者:王康 白山联合创始人兼产品副总裁。 王康先生主要负责产品的完善与升级、产品开发流程把控及进度协调、产品设计改进及定期优化、产品全生命周期管理等工作。他带领团队实现白山首款产品CDN-X的多项...

    xiaochao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<