在做机房重构时,我们会在学生上下机计算学生上机时间时,会出现消费时间随着基本数据设定表中的数据变化而变化,这里不仅仅是数据的变化,还包括不同时间段内消费时间具体确定问题。主要分为三个时间段的计算
1.准备时间:即在此时间段内,消费金额为0
2.至少上机时间:如果上机时间超过了准备时间,但是少于至少上机时间,那么此时消费时间为至少上机时间
3.按正常消费时间来算:此时,消费时间大于至少上机时间后,则按照正常时间来算
通过对业务的分析,我们发现在不同时间段,最终的消费时间的计算方式是不一样的。如果我们就这样直接一条条分析的话,会出现很多if.....else语句,计算过程还会很复杂,这可不是什么好兆头。于是根据23设计模式中特点进行分析,发现使用状态模式或者指责链模式是可以解决分段处理的问题的,这两个模式的使用基本上是一样的,只是在职责链模式需要在客户端来定义下一个执行的具体子类,而状态模式直接定义在了正在执行的子类中。