设计要做到扩展性强还挺难的
概述 在日常开发中,有时候你的上司会跟你说,这个模块的设计扩展性要高。把这句话说出来很简单,但是要做到则非常难。导致难的其中一个因素是: 你不熟悉这个行业的业务的玩法 我举个例子来说明。像电商行业里的满多少减多少这样的营销活动,如果你一开始只是认为这种活动就是单指满多少钱减多少钱的话(例如:满100元减20元),那么就很有可能导致无论你如何设计,它都不具备可扩展性。为什么呢? 由于你只是认为只有类似满100元减20元这样的玩法,就很有可能如下设计表: CREATE TABLE `manjian_activity` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `activity_name` varchar(100) NOT NULL DEFAULT '' COMMENT '活动名称', `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '活动状态', `target_price` int(11) DEFAULT NULL COMMENT '满减,目标金额'...

