业务组件的编写

在之前我说过我在开发日历板组件的时候,使用了一个想法:即尽量开发适合任意场景的组件,然后通过编写单独的转换函数来适配某一个业务场景,这样做的好处是 组件的重用性将大大提高,同时 在业务逻辑更改的时候 我们其实只需要专注于 对应的转换函数即可,这里我想详细描述一下这个思想:

什么是尽量满足不同场景?

  当我们在开发一个组件的时候,我们不要把内部元素写死,而是通过配置的方式 来灵活定义内部元素的展现,比如 在开发日历板组件的时候,我将 开始时间 结束时间 间隔时间 横轴日期列表 是否可编辑等等,全部开发给配置,这样做的好处是 不管什么样的业务场景 都可以通过组合不同的配置来让组件展现出 对应的功能,这其实是更高程度的封装,我们在开发组件的时候 最直接的想法是 实现一个单一功能,如果仅仅是实现 这个单一功能的话,其实组件内部所有的元素都已经写死了,但是这也降低了 组件的灵活性,如果能够将 这种单一功能 扩展到类似这种单一功能的模式,从而抽离出 共性,然后不同的地方使用属性配置来定义,这样做的好处是 组件的重用性会大大提高。

什么是转换函数?

  在上面我们通过属性配置,来使得组件满足了我们的业务场景,但是组件的输出数据是固定格式的,我们需要将组件的输出数据格式 转换成其他格式,比如说 API需要的格式,转换函数就是做这个事情的,如果后面API要求更高格式,其实我们要做的仅仅是修改转换函数而已

  同样,在数据回显的时候,因为我们需要将api数据转换为组件要求的数据格式。

  

通过转换函数和属性配置我们成功的将视图于数据分开,如果组件足够强大,其实到后面 我们不断更高的仅仅是转换函数而已。

猜你喜欢

转载自www.cnblogs.com/mrzhu/p/11831378.html