Open ChenPt opened 4 years ago
通常我们讲的组件是具有可复用性的,独立于系统的,具有一定职责的,由数据及方法封装成的对象。
通用组件,比如,表格,表单,手风琴,列表组件,一般来说,常见的UI组件库属于基础组件。
业务组件,比如,文件上传/下载,省市区级联选择,拍照组件,固定的弹窗选择等。业务组件通常是在通用组件的基础上针对业务场景进行二次开发的。
在动手编写组件之前,需要先明确目前的痛点是什么,这个组件要解决什么问题,组件提供的功能有哪些。编写组件要符合单一功能职责,高内聚,低耦合。 高内聚:一个组件的功能和方法,数据,以及与所有与外界的耦合度极低的东西高度结合,构成了一个组件 低耦合:不同模块/组件之间的耦合度要低。
设计技术方案
开发组件前,先预定好组件的接口,以及组件的使用方式。多人协作的时候,组件提供的能力和接口需要进行评审
组件拆分的颗粒度要根据业务场景来,当然也要考虑未来可能发生的情况。 在开发过程中,接触一些历史代码的时候,会发现前期为了快速上线,有蛮多模块的代码是相似的,甚至有的组件会在一个模块域里重复拷贝。重构改动这些代码时,抽出组件之前,需要严格评估重构的风险。主要包含但不局限于,
组件
什么是组件?
通常我们讲的组件是具有可复用性的,独立于系统的,具有一定职责的,由数据及方法封装成的对象。
组件的类型
通用基础组件
通用组件,比如,表格,表单,手风琴,列表组件,一般来说,常见的UI组件库属于基础组件。
业务组件
业务组件,比如,文件上传/下载,省市区级联选择,拍照组件,固定的弹窗选择等。业务组件通常是在通用组件的基础上针对业务场景进行二次开发的。
编写组件的思路
明确组件的职责
在动手编写组件之前,需要先明确目前的痛点是什么,这个组件要解决什么问题,组件提供的功能有哪些。编写组件要符合单一功能职责,高内聚,低耦合。 高内聚:一个组件的功能和方法,数据,以及与所有与外界的耦合度极低的东西高度结合,构成了一个组件 低耦合:不同模块/组件之间的耦合度要低。
设计方案
设计技术方案
明确组件的接口
开发组件前,先预定好组件的接口,以及组件的使用方式。多人协作的时候,组件提供的能力和接口需要进行评审
编写组件的思考
组件拆分的颗粒度要根据业务场景来,当然也要考虑未来可能发生的情况。 在开发过程中,接触一些历史代码的时候,会发现前期为了快速上线,有蛮多模块的代码是相似的,甚至有的组件会在一个模块域里重复拷贝。重构改动这些代码时,抽出组件之前,需要严格评估重构的风险。主要包含但不局限于,