前言
模板方法模式(Template Method Pattern),定义一个操作中的算法骨架,而将一些实现步骤延迟到子类当中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤,是代码复用的一项基本的技术。
场景案例
在调用第三方开放平台拉取用户信息的时候(例如:qq,sina,wechat等第三方登录),都是采用auth2.0授权流程,具体步骤如下:
- 第一步:系统根据第三方登录类型(qq,sina,wechat等),获取对于的appKey和appSecret等信息(一般以key,value的形式存于配置文件中);
- 第二步:根据第三方平台分配的appKey,appSecret及用户授权信息等,获取授权码authToken;
- 第三步:根据返回的授权码authToken(仅能使用一次),获取访问码accessToken;
- 第四步:根据accessToken获取用户的相关信息(例如:用户唯一openId,用户头像,昵称等);
很明显,以上代码执行步骤具有严格的顺序一致性而且每一步都依赖上一步的执行结果,完全符合模板方法模式的思想。
场景设计
示例代码
ParamChain类: |