2021年/01月/16日
编辑器思维
我个人把系统的可扩展分成4个等级:
硬编码:系统运行时,数据和行为都已写死,不能变化。
可配置:系统运行时,数据可动态变化,但行为固定不变。
可控制:系统运行时,数据可动态变化,并且由多种预定义的行为可供动态选择。
可编程:系统运行时,数据可动态变化,同时行为可在运行过程中动态新增,即用户可重新系统行为。
自顶向下的极端是硬编码,会过早地把功能限制在当前的需求里,后来的需求只能尽量逼近初始模型;自底向上的极端是可编程,容易过渡设计,为未来不可能变化的场景提供灵活性,甚至会变成一门通用的编程语言。
两种设计方法没有绝对的对错,都有各自适用的场景,单一地采用任何一种方法都会有问题,需要根据实际情况在快速实现和系统扩展性之间做权衡。也正因为没有对错之分,所以编辑器的圣战永远也打不完。