组件库设计原则

本文探讨了前端组件设计的多个关键原则,包括标准性、独立性、复用与易用性,强调了SPOT法则、避免暴露内部实现、合理参数设计与接口优化。此外,还提及了参数验证、状态管理、依赖关系处理和API一致性的重要性,旨在提升组件的可维护性和可扩展性。
摘要由CSDN通过智能技术生成

1.1 标准性

    任何一个组件都应该遵循一套标准,可以使得不同区域的开发人员距此标准开发出一套标准统一的组件

1.2独立性

   描述了组件的细粒度,遵循单一职责原则,保持组件的纯粹性

   属性配置等API对外开放,组件内部状态对外封闭,尽可能的少业务耦合

1.3 复用与易用

   UI差异,消化在组件内部(注意并不是写一堆if/else)

   输入输出友好,易用

1.4使用SPOT法则

   Single Point Of Truth,就是尽量不要重复代码

1.5避免暴露组件内部实现

1.6 避免直接操作DOM,避免使用ref

   使用父组件的state控制子组件的状态而不是直接通过ref操作子组件

1.7 入口处检查参数的有效性,出口处检查返回的正确性

1.8 无环依赖原则 (ADP)

1.9 稳定抽象原则(SAP)

   组件的抽象过程与其稳定程度成正比

   一个稳定的组件因该是抽象的(逻辑无关的)

   一个不稳定的组件应该是具体的(逻辑相关的)

   为降低组件之间的耦合度,我们要针对抽象组件编程,而不是针对业务实现编程

1.10 避免冗余状态

   如果一个数据可以由一个state变换得到,那么这个数据就不是一个state,只需要写一个变换的处理函数,在Vue中可以使用计算属性

   如果一个数据是固定的,不会变化的常量,那么这个数据就如同HTML固定的站点标题一样,写死或作为全局配置属性等,不属于state

   如果兄弟组价拥有相同的state,那么这个state应该放到更高的层级,使用props传递到两个组件中

1.11合理的依赖关系

   父组件不依赖子组件,删除某个子组件不会造成功能异常

1.12扁平化参数

   除了数据,避免复杂的对象,尽量只接收原始类型的值

1.13 良好的接口设计

   把组件内部可以完成的工作做到极致,虽然提倡拥抱变化,单接口不是越多越好

   如果常量变为props能应对更多的场景,那么就可以作为props,原有的常量可作为默认值。

   如果需要为了某一调用者编写大量特定需求的代码,那么可以考虑通过扩展等方式构建一个新的组件

   保证组件的属性和事件足够的给大多数的组件使用

1.14 API 尽量和已知概念保持一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值