设计模式之外观模式

外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。

这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。

#####抽象接口

/**
 * @Author: chuan.bai
 * @Description  脸的抽象类 包含 耳朵 鼻子 眼睛等
 * @Date: Created on 13:35 2021/3/26
 * @Modified By:
 */
public interface Face {
    //使用的抽象方法
    void  use();

}

#####具体每个抽象类具体的时间

/**
 * @Author: chuan.bai
 * @Description
 * @Date: Created on 13:37 2021/3/26
 * @Modified By:
 */
public class Eye implements Face{
    @Override
    public void use() {
        System.out.println("Eye.use");
    }
}
/**
 * @Author: chuan.bai
 * @Description
 * @Date: Created on 13:37 2021/3/26
 * @Modified By:
 */
public class Ear implements  Face{
    @Override
    public void use() {
        System.out.println("Ear.use");
    }
}

/**
 * @Author: chuan.bai
 * @Description
 * @Date: Created on 13:37 2021/3/26
 * @Modified By:
 */
public class Nose implements Face{
    @Override
    public void use() {
        System.out.println("Nose.use");
    }
}

#####外观类

/**
 * @Author: chuan.bai
 * @Description 外观类
 * @Date: Created on 13:40 2021/3/26
 * @Modified By:
 */
public class FaceMaker {

    private Face ear;
    private Face eye;
    private Face nose;

    public FaceMaker() {
        ear = new Ear();
        eye = new Eye();
        nose = new Nose();
    }

    public void useEar() {
        ear = new Ear();
        ear.use();
    }

    public void useEye() {
        eye = new Ear();
        eye.use();
    }

    public void useNose() {
        nose = new Nose();
        nose.use();
    }


}

#####客户端

/**
 * @Author: chuan.bai
 * @Description
 * @Date: Created on 13:43 2021/3/26
 * @Modified By:
 */
public class Client {

    public static void main(String[] args) {
        FaceMaker faceMaker = new FaceMaker();
        faceMaker.useEar();
        faceMaker.useNose();
        faceMaker.useEye();
    }
}

#####输出

Ear.use
Nose.use
Ear.use

Process finished with exit code 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值