博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结构模式 01-外观模式(facade)
阅读量:7073 次
发布时间:2019-06-28

本文共 1297 字,大约阅读时间需要 4 分钟。

Facade模式的定义: 外观模式隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口,它向现有的系统添加一个接口,来隐藏系统的复杂性。

我们将创建一个 Shape 接口和实现了 Shape 接口的实体类。下一步是定义一个外观类 ShapeMaker。ShapeMaker 类使用实体类来代表用户对这些类的调用

Shape:形状接口Circle:Shape实现类,圆Rectangle:Shape实现类,矩形Square:Shape实现类,正方形ShapeMaker:形状创造类复制代码

Shape接口代码

public interface Shape {    void draw();}复制代码

Circle类代码

public class Circle implements Shape {    @Override    public void draw() {        System.out.println("circle");    }}复制代码

Rectangle类代码

public class Rectangle implements Shape {    @Override    public void draw() {        System.out.println("rectangle");    }}复制代码

Square类代码

public class Square implements Shape {    @Override    public void draw() {        System.out.println("square");    }}复制代码

ShapeMaker类代码

public class ShapeMaker {    private Circle circle;    private Rectangle rectangle;    private Square square;    public ShapeMaker() {        this.circle = new Circle();        this.rectangle = new Rectangle();        this.square = new Square();    }    public void drawCircle() {        circle.draw();    }    public void drawRectangle() {        rectangle.draw();    }    public void drawSquare() {        square.draw();    }}复制代码

ShapeMaker使用

ShapeMaker maker = new ShapeMaker();        maker.drawCircle();        maker.drawRectangle();        maker.drawSquare();复制代码

转载地址:http://hehll.baihongyu.com/

你可能感兴趣的文章
hdu 1215 七夕节
查看>>
老调重弹:JDBC系列 之 <驱动载入原理全面解析>
查看>>
UVa11183 - Teen Girl Squad(最小树形图-裸)
查看>>
高速排序--双边扫描与单边扫描的实现
查看>>
android去除标题栏和状态栏
查看>>
[转]利用 NPOI 變更字體尺寸及樣式
查看>>
eval解析JSON字符串的一个小问题
查看>>
jquery简单原则器(匹配除了指定选择器之外的元素 selector 表示选择器)
查看>>
update使用inner join
查看>>
Vue2.x中的父子组件相互通信
查看>>
多种替身邮方法总结!
查看>>
沟通比文档更有力
查看>>
在页面头部<!DOCTYPE html ....> 前面不能有任何输出
查看>>
hdu 2102 A计划(双层BFS)(具体解释)
查看>>
大型机器学习
查看>>
FluentNhibernate 不支持存储过程
查看>>
Python 修改电脑DNS
查看>>
复杂 Listview 显示 多个样式
查看>>
[Unity3D]Unity3D游戏开发之角色控制漫谈
查看>>
git branch merge到master
查看>>