装饰器模式(Decorator)
概述
为了某个实现类在不修改原始类的基础上进行动态地覆盖或者增加方法,该实现保持跟原有类的层级关系。装饰器模式实际上是一种非常特殊的适配器模式,必须同宗同源(通过继承来实现)。
装饰器和被装饰器都实现同一个接口,主要目的是为了扩展之后依旧保留OOP关系(同宗同源)。
穷举法
IO流包装、数据源包装、简历包装
应用场景
登陆方式扩展
还是上一章适配器模式的场景,需要扩展用户的登陆方式。如果采用装饰器模式,如下代码:
原登陆接口类
public interface ISigninService {
//注册
public ResultMsg regist(String username,String password);
//登陆
public ResultMsg login(String username,String password);
}
原登陆接口实现类
public class SigninService implements ISigninService {
public ResultMsg regist(String username,String password){
return new ResultMsg(200,"注册成功",new Member()</