Adaptor&Decorator&Facade模式分析

本文目的在于对比分析Adaptor,Decorator,Facade这三种设计模式的差异,加深对这几种设计模式的理解。

模式 说明
Adaptor 把接口A的具体实现转换成对接口B的实现,以实现对B接口调用的客户能使用A提供的功能。
Decorator 封装原来的接口A实现类,动态增加额外的功能,实现对原有实现类功能的扩展。
Facade 为复杂的子系统提供抽象简单的接口,使用方调用接口,而不用关注子系统内部的复杂逻辑。

Adaptor 适配器模式

适配器模式使两个不相关的接口一起工作。在真实的工作场景中,会出现一个客户端依赖B接口的实现类,但需要使用A接口的功能满足客户端的需要。适配器模式就能够实现使A,B两个不相关的接口一起工作,把对A接口功能的实现类转化成对B接口功能的实现。

demo的类图如下:
这里写图片描述

public interface Duck {
   
    public void quack();
}

public interface Goose {
   

    public void cackle();
}

public class WightGoose implements Goose {
   

    @Override
    public void cackle() {
        System.out.println("cackle");
    }
}

public class GooseToDuckAdapter implements Duck {
   
    private Goose goose;

    public GooseToDuckAdapter(Goose goose) {
        this.goose &#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值