当时还不太明白,这几天看了《重构》第一章的影片租赁案例,感触颇深。及《重构》第一章。首先我们模仿影片租赁过程,顾客租凭影片,影片分为儿童片、普通片、新片。根据影片类型及租凭天数价格各不相同,用户累计积分不同。OK ,现在我们使用 if else 表示。而若要改变租赁价格、积分的优惠规则时,仍需要修改 getIntegral 和 getCharge 方法。现在看来,只有三种影片类型,维护还较方便。而当影片类型较多时,例如 10 种, 100 种影片类型,这样就是不可以想像的维护。最新发布片NewReleasePrice类,实现abstract class Price ,实现最新发布片租赁总价getCharge及最新发布片租赁积分getIntegral。若没有movieClass这个类,则抛出MovieException异常。写一 junit 测试类运行 class Customer 的 consume() 方法。
暂无评论