服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

【第2880期】浅谈前端组件设计

日期: 来源:前端早读课收集编辑:ELab.yangyuqin

前言

前端代码逐渐从 “平铺” 转变到了 “层级” 结构,从 “面向过程” 进阶为 “面向对象”,前端组件也成为了近几年来的热门议题。今日前端早读课文章由 @ELab.yangyuqin 分享,公号:ELab 团队授权。

正文从这开始~~

为何要进行前端组件设计?

与仅承担数据处理逻辑的后端不同,前端需要负责界面渲染、数据处理、和接口调用,在框架诞生前,更多地是编写页面维度的顺序脚本代码。随着前端继续的持续发展,ES6 推出了 class 语法糖,React 提出了函数式组件,Vue 则以模版语法的形式组织代码,前端代码逐渐从 “平铺” 转变到了 “层级” 结构,从 “面向过程” 进阶为 “面向对象”,前端组件也成为了近几年来的热门议题。

“组件是对数据和方法的简单封装,是软件中具有相对独立功能、接口由契约指定、和语境有明显依赖关系、可独立部署、可组装的软件实体。” 这段百科中摘取的组件定义,揭示了组件所需要具备的特性:功能独立、约定一致、可集成、服务于场景。

在软件工程中,软件设计是软件开发流程中的必要阶段,在需求分析后、软件开发前进行。软件复杂度是每一个项目演进的产物,随着需求和代码行数的增加,复杂度将持续提升。软件设计的优劣为对复杂度带来的影响是不同的,优雅、合理的设计使待开发的代码复杂度可控,而拙劣的设计将会给软件带来无序、偶然的复杂度变更。一个优秀的前端组件需要在满足需求的前提下,具备高易用性和良好的可扩展性,这是我们进行前端组件设计的目标。

如何提升组件易用性?

合理的组件封装

组件既生于页面,又能够独立于页面。我们不能将整个页面杂糅为一个组件,也不能将每一小块 UI 都封装为组件。前端组件按类型可以分为容器组件、功能组件和展示组件,一个优秀的组件应该保证:功能内聚、样式统一、并且与父元素仅通过 Props 通信。

组件的封装粒度并不是越小越好,很多时候一个组件是在其他一个或多个组件的基础上开发的,无法完全以功能点的数量衡量是否遵循单一职责原则,组件开发者需要根据组件功能和目标来确定组件封装粒度:

1、当该组件需要承载具体的额外功能时,相较于新增 API ,封装成独立的组件是更好的选择。

相关阅读

  • 【第2881期】React Ref Callback:最佳实践

  • 前言从定义到场景的解释。今日前端早读课文章由 @ikoofe 翻译分享,公号:KooFE 前端团队授权。正文从这开始~~在 React 中,"Ref" 具有两个相关的含义,而且经常让人困惑。在本文正式
  • 这一国家级计量测试中心获批筹建!

  • 点击上方蓝色文字“市说新语”关注我们为提升稀土功能材料产业核心竞争力,更好地发挥计量对稀土功能材料产业的技术支撑和保障作用,近日,市场监管总局批准依托包头市检验检测中
  • 起飞!白嫖一年高级会员!

  • FineReader电脑版Abbyy FineReader这软件在Pc端真的超级无敌好用(指坡姐版),一款非常专业的OCR软件,很多时候WPS上需要花钱的功能,我都通过它来搞定。比如:PDF转WORD,PDF合并,PDF
  • 前端工程化-VSCode插件集成脚手架和组件库

  • 目录VSCode插件能做什么?VSCode可扩展能力有哪些?如何开发一个VSCode插件?VSCode插件如何集成基建的脚手架和组件库?(FAW保姆级教程)前端常见插件的实现原理分析?前言我们程序员

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 【第2880期】浅谈前端组件设计

  • 前言前端代码逐渐从 “平铺” 转变到了 “层级” 结构,从 “面向过程” 进阶为 “面向对象”,前端组件也成为了近几年来的热门议题。今日前端早读课文章由 @ELab.yangyuqin 分
  • 【早说】设计优雅降级

  • The degradation of design elegance requires an analysis of two issues. One is the need to consider what unsound situations might be encountered, the second is t
  • 【早说】感知变化

  • Changed the internal structure of the company. In order to feel the change of the external environment at any time, we establish a mechanism that can listen to
  • 【第2881期】React Ref Callback:最佳实践

  • 前言从定义到场景的解释。今日前端早读课文章由 @ikoofe 翻译分享,公号:KooFE 前端团队授权。正文从这开始~~在 React 中,"Ref" 具有两个相关的含义,而且经常让人困惑。在本文正式
  • 上海科级干部退休金9500?我还特意算了一下。

  • 每年3月份是申报个税的时候,博格还专门写了一篇文章《退税了12000》,因为2022年通过个人养老金账户买12000的养老Y份额,按20%税率计算,给博格减免2400的个税。所以,在晚上直播的
  • 一文读懂西藏自治区农业产业概况

  • 小蜂说本文基于农小蜂在运营过程中积累的:西藏自治区农业产值、种植(养殖)规模、产量等数据对西藏自治区农业产业概况进行简析,梳理西藏自治区农业产业基本面及发展趋势,让对农业