随着app的不断开发和维护,app越来越臃肿,很多模块可能不在使用或者暂时不显示,又不对对代码进行删除,代码的耦合性越高,太多的垃圾代码造成一系列问题,运行速度更是慢。所以有必要一个能够解决这个问题的框架,组件化开发时其中一个方案。
a) 组件是对逻辑的封装,不限于图形元素。
即我们可以把if做成组件、把一个倒计时做成组件、把一段动画做成组件、把路由做成组件、把数据架构做成组件,而这些并不能称为控件
b) 组件具备单个可移植性
即“随加载随用”,不需要为其准备复杂的基础条件(如引入样式、引入框架等)。然而这一点现有那些所谓组件库做得并不好,技术上也不大现实
c) 组件是声明式定义的,而非命令式。
这个不想多说,很大程度上是自己主观的一个想法而上面最重要的就是第一点,所以要问我什么是“组件化开发”,我的说法是:把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式。
组件化思想--分而治之
这种开发的思想其实也就是分而治之(最重要的架构思想),页面逻辑过于复杂,便将页面分为很多个业务组件模块分而治之,这样的话维护人员每次只需要改动对应的模块即可,以达到最大程度的降低开发难度与维护成本的效果,所以现在比较好的框架都会对组件化作一定程度的实现。
的简化demo https://github.com/tzz2015/PatternDemo