前言
在实习中需要引入微信登录,并且分为多种登录模式,例如:小程序登录,PC用户名密码登录,PC微信扫码登录。每种不同的登录模式里实现的方法也都不同,就想到可以使用策略者模式可以灵活的根据情况进行选择不同的实现方法
策略模式介绍
- 什么是策略模式
- 策略模式是一种解决 改变 的方案,其核心是将问题剥离,把不会改变的和可变的内容区分开来。在发生改变时只需修改可变的类,即可在改动程序时产生最小的影响。并使用组合将 不变的与可变的组合起来。使程序易扩展和可维护。
- 策略模式解决了什么问题
- 在开发中可能会经常遇到需求改变的问题,因此我们在设计类时应充分考虑未来可能发生的扩展。比如为已经上线的某个模块中为某个功能进行扩展,使用策略者设计模式在上线前设计未来可能发生扩展的类,将原始类与扩展类分离使用组合,使得在修改一处时对整体功能不会产生很大的影响,而不会使程序在修改后牵一发动全身,变得难以修改和维护。
-
策略模式的特点
1. 多种算法可互换
2. 避免条件语句
3. 与上下文独立
实践
-
在登录的时候传入登录类型参数,指定执行什么登录方法
-
在方法中拼接beanName来获取bean
小结
灵活的使用设计模式可以更加优雅的实现需求,在减少后期维护的成本,加强代码可读性,例如现在上面登录的策略,可以添加不同的登录策略,不需要修改源代码