开发经验回顾,我们会发现,我们解决问题的思路都是有惯性思维引导的。好的思维方式,让我们梗全面的看清事物的本质。卡!跑题了。==||
数据,我们经常以修改的频率来定义为相对动态和相对静态。其实,大多数业务,数据在一定的时间内都是相对静止的(不变的)。如果,这些数据不是针对个人的(个性化数据)话,说明数据在一定时间内的命中率高。静止,命中率高,多好的数据标签啊。今天我们要说的配置信息。配置信息,一般情况下是针对群体来设定的。而且,相对稳定。但是,一个系统,想要可控,配置信息必不可少。不知道大家在业务迭代中有没有遇到过这样的场景,产品同学经常跑过来,【xx同学,帮忙添加一个xx功能的配置】【xx同学,帮忙对xx功能的配置坐下版本区分的控制】。。。。这样的场景在某段时间里面如潮水般的把我湮灭。
配置信息,可以是一个开关,可以是区分版本的一个控制,可以是方案的抉择(分桶)。看似没有任何耦合的功能,其实从我们的感受中可以切确的知道,这就是一个重复性的工作(耦合啦)。不能忍。如何设计一个可以自由构造配置信息,且可以自由获取的配置系统已经是非常迫切需要了。其实,我们服务端不就是要构造一个json串么?而使用者(app客户端,前端,服务端)要做的是,通过key获取所需的配置信息进行接入即可。其实,我们就是构造对象,然后序列化对象,最后,给这个序列化唯一标识(身份)。数据结构中,能支持这一特点的是树。如下图所示:
通过节点获取块信息数据。一个节点,就是一个对象或一个值(末梢节点) 未完,待续,,,之后会贴出部分代码实现。