案例介绍
一个影片出租程序,计算顾客的消费金额并打印详单。操作者告诉程序顾客租了那些影片,租了多久,程序根据影片数量和类型计算出费用和积分,影片分为普通片,儿童片,新片,不同类型积分不同。
初始架构
初始三个类,一个基本的movie影片类,包含影片名称和类型两个字段,一个租赁类,包含影片成员和租赁天数两个字段,一个消费类,包含租赁列表和顾客名字两个字段和一个计算方法,具体代码如下。
customer还提供了一个计算详单的函数
第一次修改
statement()这个方法做了很多明显不该由他做的事,第一次重构就从这个方法开始,首先把switch这个逻辑泥潭给提出来,写成一个函数。
第二次修改
积分修改