获得StockpilingRecordItem,表示的是某堆货(按计费吨来算),在某个堆位,堆存的时间。
获得堆存费的确定费率的规则,目前只是时间。(通过一个叫DayInterval的类实现)可以知道某个时间范围和它对应的费率。
由每个StockpilingRecordItem确定的堆存时间,匹配费率规则中的时间段,返回在这个时间段的堆存时间。
在堆村费计算策略里应该有个方法能确定出在某个堆位的堆存时间,但是对于转栈的情况,需要知道这堆货在不同时间段的堆存时间加和,去匹配不同的时间。也就 是对于堆存的货物本身也分段的情况(保税货物,在不同堆位费率不同情况),在每段时间时,都要把之前的时间全都加起来。这部分逻辑不应该放到 DayInterval的daysMatchingDayInterval方法中。
实现最简单的计费公式:堆存费=堆存时间*费率*计费吨
===========================================================================
复杂的大型系统,完全采用自顶向下的方法估计是很难进行的,除非你之前就做过类似的系统,对于第一次尝试设计的系统,先采用架构驱动的方式搭建一个架子,再使用TDD从下向上逐步构建,可行性比较好。
不知道我这个能不能算UserStory,跟Kent那个比缺乏了一些精炼,可读性也比较差。现在还是在特性,用例,用户故事中间,什么都在用,感觉目前还是创造性工作阶段,或许只能这样吧。
UserStory-计算堆存费
最新推荐文章于 2023-06-04 00:38:19 发布