Java外观模式(门面模式Facade)

简介: 外观模式也叫门面模式,是开发过程中使用频率非常高的一种设计模式,但非常容易理解。


外观模式

 外观模式也叫门面模式,是开发过程中使用频率非常高的一种设计模式,但非常容易理解。

概念介绍

 外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。

image.png

代码案例

 模拟办理公司的流程

具体实现

/**
 * 银行
 * @author 波波烤鸭
 * @email dengpbs@163.com
 *
 */
public interface Bank {
  void  openAccount();  //开户
}
class ICBC implements Bank {
  @Override
  public void openAccount() {
    System.out.println("在中国工商银行开户!");
  }
}
/**
 * 工商局
 * @author 波波烤鸭
 * @email dengpbs@163.com
 *
 */
public interface IACA  {
  void checkName();  //核名
}
class SzIACA implements IACA {
  @Override
  public void checkName() {
    System.out.println("检查名字是否有冲突!");
  }
}
/**
 * 质检局
 * @author 波波烤鸭
 * @email dengpbs@163.com
 *
 */
public interface Qc {
  void  orgCodeCertificate();  //办理组织机构代码证
}
class SzQc implements Qc {
  @Override
  public void orgCodeCertificate() {
    System.out.println("在深圳质检局办理组织机构代码证!");
  }
}

门面类

/**
 * 办理注册公司流程的门面对象
 * @author 波波烤鸭
 * @email dengpbs@163.com
 *
 */
public class RegisterFacade {
  public void register(){
    IACA  a = new SzIACA();
    a.checkName();
    Qc b = new SzQc();
    b.orgCodeCertificate();
    Revenue  c  = new SzRevenue();
    c.taxCertificate();
    Bank  d = new ICBC();
    d.openAccount();
  }
}

测试

public static void main(String[] args) {
  /*IACA  a = new SzIACA();
  a.checkName();
  Qc b = new SzQc();
  b.orgCodeCertificate();
  Revenue  c  = new SzRevenue();
  c.taxCertificate();
  Bank  d = new ICBC();
  d.openAccount();*/
  // 通过门面类 来实现公司的注册
  new RegisterFacade().register();
}

输出结果:

检查名字是否有冲突!
在深圳质检局办理组织机构代码证!
在深圳税务局办理税务登记证!
在中国工商银行开户!

开发中常见的场景

   频率很高。哪里都会遇到。

   各种技术和框架中,都有外观模式的使用。

   JDBC封装后的,

   commons提供的DBUtils类,

   Hibernate提供的工具类、

   Spring JDBC工具


相关文章
|
1月前
|
设计模式 前端开发 Java
Java设计模式【十一】:外观模式
Java设计模式【十一】:外观模式
29 0
|
8月前
|
设计模式 Java 数据库连接
【设计模式——学习笔记】23种设计模式——外观模式Facade(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——外观模式Facade(原理讲解+应用场景介绍+案例介绍+Java代码实现)
64 0
|
1月前
|
设计模式 Java
聊聊Java设计模式-外观模式
外观(Facade)模式,又叫做门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,使这些子系统更加容易被访问的模式。
41 1
聊聊Java设计模式-外观模式
|
1月前
|
Rust Java uml
外观模式 rust和java的实现
外观模式 rust和java的实现
50 0
|
8月前
|
设计模式 Java
JAVA设计模式10:外观模式,使得客户端可以通过简单的接口与子系统交互
JAVA设计模式10:外观模式,使得客户端可以通过简单的接口与子系统交互
|
10月前
|
设计模式 Java
外观模式【Java设计模式】
外观模式【Java设计模式】
43 0
|
10月前
|
设计模式 Java
简化复杂系统:深入解析Java设计模式中的外观模式
在软件开发领域,设计模式是一套经过验证的最佳实践方法,用于解决各种常见问题。外观模式是一种结构型设计模式,其目标是为复杂子系统提供一个简单的接口。在本文中,我们将深入探讨外观模式的核心思想,以及它在Java中的实际应用。
61 0
|
11月前
|
设计模式 Java
【设计模式】用Java实现外观模式
外观模式是一种结构设计模式,旨在为复杂系统提供一个简化的接口,以便客户端可以更方便地使用系统。外观模式通过创建一个高层次的接口,将系统的多个子系统封装起来,并提供一个统一的接口给客户端使用。
54 0
|
12月前
|
设计模式 缓存 安全
简化代码,提高可维护性 Java外观模式解读,让你的代码优雅又高效
简化代码,提高可维护性 Java外观模式解读,让你的代码优雅又高效
87 0
|
设计模式 Java
【Java设计模式 设计模式与范式】结构型模式 五:外观模式
【Java设计模式 设计模式与范式】结构型模式 五:外观模式
59 0