前端组件化

本文探讨了前端开发中的组件化,强调其降低页面复杂度、提高可维护性和复用性的优势。介绍了组件化的概念、结构化编程原则,以及组件划分的方法。此外,文章还详细阐述了模块间通信的各种方式,如事件总线、全局状态管理和父组件调用,并讨论了六大设计原则,包括单一职责原则、开闭原则等,旨在提升软件架构的灵活性和可维护性。
摘要由CSDN通过智能技术生成

 

传统的开发方式

 

 

概述

 

根据页面的渲染过程来编写代码结构。像:init -> getData -> processData -> bindevent -> report -> xxx 。 方法之间线性跳转,你大概也能感受这样代码弊端。随着页面逻辑越来越复杂,这条” 过程线“ 也会越来越长,并且越来越绕。加之缺少规范约束,其他项目成员根据各自需要,在” 过程线“ 加插各自逻辑,最终这个页面的逻辑变得难以维护。

 

 

 

面向过程

 

 

最为实际的一种思考,也比较符合普通人的思维方式,它考虑的更多是实际的实现,从上而下的步步求精。不过缺点也比较明显,因为每一步都依赖它的上一步计算结果,导致整个功能为一个整体,牵一发而动全身,另外也限制了复用的可能性。

 

 

 

组件化编程

 

 

概述

 

组件就是将一段UI样式和其对应的功能作为独立的整体去看待,无论这个整体放在哪里去使用,它都具有一样的功能和样式,从而实现复用,这种整体部分的思想就是组件化。不难看出,组件化设计就是为了增加复用性,灵活性,提高系统设计,从而提高开发效率。与模块化类似,组件化是页面层次上,按照功能纬度来进行分割,从而达到隔离复杂度的目的。

 

康威定律:软件源代码的组织结构要与开发团队的组织结构尽量保持一致

 

 

 

目的

  • 降低页面复杂度
  • 提高可维护性
  • 增加可读性
  • 方便单元测试
  • 提高可复用性
  • 提高开发效率
  • 提高维护效率(分而治之)

 

 

 

 

结构化编程

 

功能性降解拆分,我们可以将一个大型问题拆分为多个高级函数,再将高级函数拆分为多个低级函数,如此无限递归下去,层层分解,且每一个函数也可以通过结构化编程来分解,最终可以拆解成更小、可证明的函数单元。

但是形式化证明并没有发生,因为程序和数学还是不同,程序没办法被证明,只能够被证伪。我们写的单元测试,或者由测试人员进行的测试只能证明在当前环境是足够正确的。

 

禁用goto无条件转移语句

 

 

 

组件划分

 

通用组件:

 

具有业务通用性,普适与一般的业务场景,为了复用而被创建,可被沉淀下来被多处使用,可以被单独维护和扩展。目前市面上开源的组件都是通用组件。

 

业务组件:

 

包含完整的功能逻辑,具备控制层职责,为高级策略组件,是稳定抽象层,整个功能中最稳定的部分,负责高级策略的定义,整体轮廓的搭建,及其他策略类的创建与配置。智能组件

 

原子组件:

 

业务组件中直接依赖的低级策略组件,作为业务组件的一部分存在,通过组合功能完成功能,只负责展示相关的职责。木偶组件<

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值