昨天写到系统接口设计最重要的原则是:
简单直观,数据在两个系统里要保持一致。
很开心的是大家选了黎叔和Richardson的方案,因为这个方案是最简单直观的,并且满足了数据在两个系统的一致性。
还是举昨天的例子,数据在客户系统是这样的:
Trip:S -> L1(10t) -> D1(10t) -> L2(12t) -> D2(12t) -> S
到我们系统也会生成一样的数据:
Job: S -> L1(10t) -> D1(10t) -> L2(12t)->D2(12t)->S
我们系统为了生成这条数据,还需要生成一些基础数据:
SR: S -> D1(10t)
SR: S -> D2(10t)
SR: L1(10t) -> S
SR: L2(10t) -> S
这个方案的唯一问题是一个正常的SR(一装一卸)被分成了两个SR,一个是提货SR,一个是卸货SR,和我们之前对SR的认知十分不同,除了心里有些小担心之外,暂时也想不出这样会有什么问题。
抛开这个问题,我想用三个词来评价这个解决方案:
清晰、简单、优雅