前沿
机房下机的时候算钱的功能是必不可少的,但是要怎么写,写在哪呢?
下机算钱不仅仅是单位钱数*单位时间就OK了,还有别忘记其他因素在里面
比如有的小伙伴算钱是根据顾客的级别来区分。如果每小时10元的话,那么普通顾客就是每小时10元,VIP顾客就会打8折;又或者按时间进行算钱,比如在2分钟之内是不收钱的,大于2分钟并且在一个小时之内是按1.2倍算钱,超过1个小时正常收费。
所以不管怎样,不同状态的改变算钱的策略也会随之改变,这时如果我们用到职责链的话就方便多了
我的职责链是按照时间进行算钱并且写在了B层,它是负责逻辑判断的,所以放在B层在合适不过了
按时间算钱就必须得到单位钱数(Rate),单位时间(UnitTime),除了这些还得得到准备时间(ReadyTime),如图所示:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxSPRpmTyUEROJTS61UNVRVT6ZkMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL4UzNzATNxYTMxITMwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)