经过两周,每天八个小时的讨论,平台的架构终于有点模样了,下面第一步开始具体实现。
曹公用tornado搭了个架子,我们组的几个人负责实施。
每一条功能都是一条单独的协议,规定协议与协议之间可以相互调用,也可以组合调用,用以实现某种功能。
比如注册协议,其实内部实现的方式就是在跑完注册流程之后,再去调用登陆协议,返回token,这样做的效果就是每个注册用户完成注册这个过程之后就是已经登陆的状态。
再比如找回密码协议,这就要几条协议组合成这个功能了,首先要向绑定的手机发送验证码,确认之后,再由用户去调用修改密码协议。
某个简单的过程,详细分析起来就会有十几张时序图,在我们对整个过程都不太熟悉的时候真是搞死我们了。
虽然每条协议在实现之前都经过讨论,但真正做的时候还会发现问题,其中最主要的是设计和需求之间的差异。需求不是一成不变的,如何让程序变得更适宜需求改动时候的修改,变得至关重要。比如开始的时候用户登陆不需要输入验证码,后来需求变为需要验证码,在到最后,需求变成当输入次数达到多少的时候才需要验证码。