这与规格文档里的描述不谋而合!根据需求规格的描述,陈年干酪(aged brie)、后台门票(backstage pass)等确实是些特殊的商品,有不同的过期和保质规则。虽然,重构进行到这里,我们还很难从代码里看清这些“不同的操作”具体是什么,但“有几类特殊的商品”一事是确定的。既然它们有不同的行为,那就值得为它们创建不同的子类。这样未来识别出属于他们各自的行为时,就可以将商品特定的行为搬移到子类中去。
git checkout task-6-subclassing
./gradlew clean build
git checkout task-6-subclassing
npm test