关于装饰者设计模式,我个人的理解是:
实现接口(装饰者与被装饰者实现相同的接口),获得引用(装饰者内保有被装饰者的引用),增强方法(对相应的方法进行增强); ***** 缺点:如果接口的方法比较多,增强其中的某个方法.其他的功能的方法需要原有调用.
总的来说,其实就是,其他功能不变,独独改变目的方法(注意注意注意,我没说重写),怎么不变?首先实现同一接口,是不是等于拿到所有方法的目录?再然后获取被装饰者的引用,被装饰者内必然有实现其他方法的方法,举个例子:conn.A(),现在我们类B实现了同一接口,等于B内有了原始A(){return 0},获取引用后,我们直接写成A{return conn.A()},不就实现了原方法不变吗?提一句,怎么获取一个类的引用?创建传参为被引用类的构造方法就可以了;
最后,重写增强方法,完美结束;(在连接池,servlet都有相关实现)
装饰者设计模式
最新推荐文章于 2024-03-14 10:21:49 发布