文档章节

感想2-对于组件化的一些思考

o
 osc_mervd488
发布于 2018/04/24 22:37
字数 738
阅读 13
收藏 0

精选30+云产品,助力企业轻松上云!>>>

内容概览: 

  • 组件化的目的
  • 哪些逻辑需要组件化
  • 基于现有场景,如何设计组件,提高开发效率 

组件化的目的

  组件化的概念或者描述有很多,在此就不列举了。工作中,我们会遇到很多功能相近的业务场景和高频控件,这里我们就需要对这些大量重复但不完全一致的代码进行分析、总结、抽象,最后封装成组件,便于进行统一、升级,减少代码复制、粘贴,提高项目代码的可读性,降低维护成本和开发成本。

  除此之外,有时候也会将一个大的业务场景拆分成多个小模块,减少单文件的体积或是多人协作开发。

  总而言之,组件化的目的就是减少开发成本、提高开发效率。

哪些逻辑需要组件化

  参考一些现有的UI库,再加上日常工作遇到的情况,我喜欢把组件分为三类:基础功能组件、多业务模块复用逻辑组件、 业务模块拆分组件。

  基础功能组件:按钮、分页、列表、图表、时间选择器之类。

  多业务模块复用逻辑组件:这类组件通常指的是在特定的业务范围内在多个业务场景中出现,这类组件通常是在基础功能组件的基础上结合特定数据或接口二次封装组合而成。例如通用的人员下拉选择,通用的的类型下拉选择、通用的视图节点下拉选择。

  业务模块拆分组件:有的业务场景内容比较多,如果都放在一起会代码过多很难管理,也不利于多人协同开发,例如Dashboard之类的展示页、订单、人员调配之类的操作页

基于现有场景设计组件,提高开发效率  

  之前的参与的项目由于人力不足以承担自研UI,通常都是借助于第三方UI组件库。所以在设计组件时,更多的是在UI组件基础结合特性进行二次开发。以我之前参与的项目为例(vue+element-ui)。业务中有大量的列表和图表。列表方面除去几个特殊类型,大都是常见的展示列+操作列模式,我的处理方式是将column以配置传入组件内,减少模板内容。图表主要依靠echarts实现,为了避免每次在业务代码中使用都经历一遍初始化、绑定size监听、组件销毁时注销实例的过程,我将这些统一封装到图表组件内部去处理,对外暴露options属性,用来负责传递数据变化。

 

(未完待续...)

  

   

    

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
感想1-前言(第一版)

  时间真快,转眼间来北京已经两年了,一直在做前端开发,主要工作内容集中在web管理系统这块。从实现最简单的5、6个页面的内部支撑系统到十三四个页面的小型管理系统 ,从多个子系统组成的...

osc_hp9d5zg0
2018/04/21
1
0
关于对现阶段vue项目的一些总结和感想

一、前言   现阶段手上vue的项目差不多快完了,空闲之余回反复对整个项目的代码结构、实现细节以及框架上的做了一些思考和优化。下面打算把想到的和重点实现的方法记录一下。 二、回顾   ...

osc_2koyq9mo
2019/02/20
4
0
最近的一点点感想

时间很快,不知不觉3个月就过去了,明天是去阿里上班的三个月时间,三个月中个人有很多变化,下面是自己的一些感想: 一、忙碌充实的生活 相对于公务员那种悠闲的生活,到企业中完全不一样,...

simeon2005
2018/11/24
0
0
退却的激情?

突然看到一句话: 有激情的人,每天都能从平淡中发现精彩,没什么可写,从一个侧面上反映出激情的流失,这显然不是什么好状态。 好像最近真的没什么感想了,对技术上、生活上、情感上、社会上...

lcniuren33
2012/11/20
16
0
MobX or Redux?

前言 在过去的项目中一直用的都是Redux,觉得挺不错的,按照官方推荐的一些写法,再加上团队风格,打造了一套关于Redux的架构,但是,现在觉得写Action、Reducer太繁琐,随着业务不断的增量,...

图奇
2019/10/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

浅谈对python pandas中 inplace 参数的理解

这篇文章主要介绍了对python pandas中 inplace 参数的理解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否...

Linux就该这么学
33分钟前
20
0
C++ 从基本数据类型说起

前言 int 在32位和64位操作系统,都是四个字节长度。为了能编写一个在32位和64位操作系统都能稳定运行的程序,建议采用std::int32_t 或者std::int64_t指定数据类型。*与long随操作系统子长变...

osc_sxdofc9c
33分钟前
9
0
游戏音乐的作用以及起源

游戏音乐是由特殊的音乐、语言符号、美学符号组成,在电子游戏的发展下,游戏音乐越来越成熟,游戏音乐与美术相融合,能够带给玩家视觉与声音的感官冲击,形成游戏音乐所具有的独特的审美效果...

奇亿音乐
33分钟前
10
0
2020,最新Model的设计-APP重构之路

很多的app使用MVC设计模式来将“用户交互”与“数据和逻辑”分开,而model其中一个重要作用就是持久化。下文中设计的Model可能不是一个完美的,扩展性强的model范例,但在我需要重构的app中,...

osc_mfzkzkxi
34分钟前
4
0
面对职业瓶颈,iOS 开发人员应该如何突破?

我们经常看到 iOS 开发人员(各种能力水平都有)的一些问题,咨询有关专业和财务发展方面的建议。 这些问题有一个共同点:前面都会说“我现在遇到了职业困境”,然后会问一些诸如“我是否应该...

osc_gfpedeca
35分钟前
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部