前言
迭代器设计模式系列文章
迭代器设计模式(一) - 简介
迭代器设计模式(二) - 早期qq和微信用户登录系统一般写法
迭代器设计模式(三) - 早期qq和微信用户登录系统迭代器设计模式写法
迭代器设计模式(四) - 使用场景
迭代器设计模式(五) - 底部导航栏
1. 定义?
提供一种方法 顺序访问一个容器中的各个元素,而又不需要暴露该方法的内部显示。
2. 实例 - 微信和qq的用户系统
早期的微信登录,在填写用户名和密码时,不管填写微信号还是qq号,都是可以登录微信的,如下图所示:
早期qq和微信登录系统.png
1>:用户不管填写微信账号还是qq账号都是可以登录微信的;
2>:点击登录时,会调用中间层,中间层会首先调用微信用户系统,判断用户是否存在,如果不存在,然后再调用 qq用户系统中用户是否存在,如果存在,就返回用户信息;如果不存在,就提升用户名或者密码错误;
同样的,有时候我们在调用接口时,有时候调用的其实也是中间层的接口,如下图所示:
接口调用.png
1>:一般的会分为3层,app层、中间层(PHP写的)、最底层(Java写的);
2>:一般的,最底层的接口是用java写的,并且也都是单个接口;
3>:然后中间层会对最底层的接口进行封装,并且去判断一系列的逻辑,然后我们app层只需要调用中间层就可以了,也就是说只有中间层的接口跟app是有关系的,可以不用管最底层的接口是如何实现的;
那么下一节就写一个早期qq和微信登录用户系统;