`

2. 结构型模式 (4) 外观模式

阅读更多
2. 结构型模式 (4) 外观模式


外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。

为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。


1. 外观模式

package com.andrew.pattern0204.facade.model01;
public interface Shape {
    void draw();
}


package com.andrew.pattern0204.facade.model01;
public class Rectangle implements Shape {
    @Override
    public void draw() {
        System.out.println("Rectangle draw()");
    }
}

package com.andrew.pattern0204.facade.model01;
public class Square implements Shape {
    @Override
    public void draw() {
        System.out.println("Square draw()");
    }
}

package com.andrew.pattern0204.facade.model01;
public class Circle implements Shape {
    @Override
    public void draw() {
        System.out.println("Circle draw()");
    }
}


package com.andrew.pattern0204.facade.model01;
public class ShapeMaker {
    private Shape circle;
    private Shape rectangle;
    private Shape square;
    public ShapeMaker() {
        circle = new Circle();
        rectangle = new Rectangle();
        square = new Square();
    }
    public void drawCircle() {
        circle.draw();
    }
    public void drawRectangle() {
        rectangle.draw();
    }
    public void drawSquare() {
        square.draw();
    }
}


package com.andrew.pattern0204.facade.model01;
/**
 * 1. 外观模式
 * 
 * @author andrew
 * @date 2018/07/05
 */
public class Client {
    public static void main(String[] args) {
        ShapeMaker shapeMaker = new ShapeMaker();
        shapeMaker.drawCircle();
        shapeMaker.drawRectangle();
        shapeMaker.drawSquare();
    }
}
运行结果:
Circle draw()
Rectangle draw()
Square draw()
分享到:
评论

相关推荐

    软件设计模式实验2结构型模式源码

    电子商务网站常有这样的功能:发送消息通知,比如订货发货通知等,从业务上看,消息分为普通消息、加急消息和特急消息多种不同的消息类型,其业务处理是不一样的,比如加急消息是在消息上添加加急标记.....2....

    java 23种设计模式.zip

    2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 4.行为型模式:模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略...

    [结构型模式] 外观模式的理解

    【结构型模式】 外观模式的理解 外观(Facade)模式是一种设计模式,属于结构型模式,它提供了一个统一的接口,用来访问子系统中的一组接口。这种模式定义了一个高层接口,使得这一子系统更加容易使用。外观模式的...

    23种设计模式,创建型模式共5种,结构型模式7种,行为型模式11种

    设计模式分为三大类:创建型模式、结构型模式和行为型模式。 **创建型模式**关注的是对象的创建。共有五种创建型模式: 1. **工厂方法模式**:它定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法...

    JAVA-设计模式-结构型模式-外观模式

    JAVA-设计模式-结构型模式-外观模式

    23种设计模式 (创建型,结构型,行为型)

    结构型: 6. 适配器模式(Adapter Pattern) 7. 桥接模式(Bridge Pattern) 8. 装饰模式(Decorator Pattern) 9. 组合模式(Composite Pattern) 10. 外观模式(Facade Pattern) 11. 享元模式(Flyweight ...

    Facade 外观模式(结构型模式)

    C#面向对象设计模式纵横谈\C#面向对象设计模式纵横谈\10.Facade 外观模式(结构型模式).wmv )

    设计模式_结构型_外观模式.md

    外观模式是软件工程中常用的一种设计模式,属于结构型模式。它主要用于为复杂的子系统提供一个简单的接口,从而使得客户端与子系统的交互变得简单明了,隐藏了子系统的复杂性。外观模式主要包含的角色有外观类和子...

    结构型模式的几个模式

    本篇文章将重点讨论结构型模式中的几种关键类型:外观模式、代理模式、适配器模式以及桥接模式。 #### 二、结构型模式简介 结构型模式主要关注如何将类或对象组合成更大的结构。这类模式强调的是如何构建与组织类...

    c++设计模式-结构型模式-外观模式

    c++设计模式-结构型模式-外观模式;qt工程;c++简单源码; 外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,...

    设计模式(创建型、结构型、行为型)

    结构型模式是指在软件设计中,如何将类组合在一起去构成更大的结构的模式。它主要解决了类之间的组合问题,包括适配器、桥接、组合、装饰、外观、飞weight和代理等七种模式。 行为型模式是指在软件设计中,如何定义...

    C#面向对象设计模式纵横谈\11 结构型模式Facade外观模式.zip

    在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第11节:结构型模式Facade外观模式

    设计模式之结构型模式

    结构型模式不仅限于适配器模式和桥接模式,还包括代理模式、装饰模式、外观模式、组合模式和享元模式等。这些模式都致力于优化系统结构,提升代码的可复用性和可维护性。 4. **学习与实践**: 对于初学者来说,理解...

    C#面向对象设计模式纵横谈(11):Facade 外观模式(结构型模式) (Level 300)

    **外观模式(Facade Pattern)**是面向对象设计模式中的一种结构型模式,它提供了一个统一的接口,用于访问子系统中的各个部分。在C#编程中,外观模式可以帮助我们简化复杂的系统接口,使得客户端代码与复杂的内部...

    设计模式2-结构型模式.doc

    在本文中,我们将探讨几种结构型设计模式,包括适配器模式、桥接模式、外观模式、享元模式、代理模式和装饰器模式。 1. **适配器模式**: - 适配器模式用于连接两个不兼容的接口,使得原本不能一起工作的类可以...

    新版设计模式手册 通俗的例子讲述设计的方法 1创建型模式 2结构型模式 3 行为模式 详细的设计说明

    这个“新版设计模式手册”深入浅出地介绍了设计模式的三大类:创建型模式、结构型模式和行为模式,为开发者提供了一套详细的设计说明。 一、创建型模式 创建型模式主要关注对象的创建过程,它们的目标是使得对象的...

    C#设计模式源代码1.简单工厂模式 2.工厂方法模式 ...11种

    10. **外观模式**:也称为门面模式,结构型模式之一,提供了一个统一的接口,用来访问子系统的一组接口。外观模式简化了子系统与客户端之间的交互。 11. **桥接模式**:结构型模式,它将抽象部分与实现部分分离,使...

    C#面向对象设计模式纵横谈(11):Facade 外观模式(结构型模式)

    ### C#面向对象设计模式纵横谈(11):Facade 外观模式(结构型模式) #### 一、概述 本篇文章将深入探讨C#面向对象设计模式中的Facade外观模式,这是一种结构型模式,旨在通过提供一个统一的接口来简化复杂的子系统。...

    设计模式2-结构型模式&设计模式基本原则

    在本文中,我们将深入探讨结构型模式以及设计模式的基本原则。 结构型模式是设计模式的一种类别,它关注如何组合类和对象以创建更复杂的结构。这类模式主要涉及类和对象的组合,分为类模式和对象模式。类模式使用...

Global site tag (gtag.js) - Google Analytics