如何去设计一个组件封装_前端组件化设计思路
目前前端三大框架(Vue.js, Angular.js, React.js)都在引领着前端的组件化开发方向,组件化的前端开发方式的确为业务实现带来了前所未有的方便,其实组件化开发早已经具有(YUI),但如何封装一个优秀的组件,可能并不是每位前端开发者都能够做好的。
-
组件化是对实现的分层,是更有效地代码组合方式
-
组件化是对资源的重组和优化,从而使项目资源管理更合理
-
组件化有利于单元测试
-
组件化对重构较友好
组件与模块
-
可复用的模块,完成既定功能
-
有明确的接口规定
-
有上下文依赖、外部依赖资源的定义
-
可以独立发布
组件设计的原则
-
适用单一职责原则
-
适用开放封闭原则
-
追求短小精悍
-
避免太多参数
-
缩小信赖范围和向稳定方向信赖
-
适用SPOT法则 (Single Point Of Truth,就是尽量不要重复代码,出自《The Art of Unix Programming》)
-
追求无副作用
-
追求引用透明
-
避免暴露组件内部实现
-
避免直接操作DOM
-
适用好莱坞法则 (好莱坞法则: Don’t call us, we’ll call you, 又称IoC, Inversion of control, 控制反转)
-
入口处检查参数的有效性,出口处检查返回的正确性
-
充分隔离变化的部分
-
组件和数据分享,信赖一致性的数据结构
自省的几个问题
这个组件可否(有必要)再分?
这个组件的依赖是否可再缩减?
这个组件是否对其它组件造成侵入?
这个组件可否复用于其它类似场景中?
这个组件当别人用时,会怎么想?
假如业务需要不需要这个功能,是否方便清除?
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。