当前位置: 首页 > news >正文

结构型设计模式——外观模式

摘要

本文主要分析设计模式 - 结构型 - 外观(Facade),它提供了一个统一的接口,用来访问子系统中的一群接口,从而让子系统更容易使用。

一、外观模式的意图

提供了一个统一的接口,用来访问子系统中的一群接口,从而让子系统更容易使用。

二、外观模式的类图

三、外观模式的实现

观看电影需要操作很多电器,使用外观模式实现一键看电影功能。

public class SubSystem {public void turnOnTV() {System.out.println("turnOnTV()");}public void setCD(String cd) {System.out.println("setCD( " + cd + " )");}public void starWatching(){System.out.println("starWatching()");}
}
public class Facade {private SubSystem subSystem = new SubSystem();public void watchMovie() {subSystem.turnOnTV();subSystem.setCD("a movie");subSystem.starWatching();}
}
public class Client {public static void main(String[] args) {Facade facade = new Facade();facade.watchMovie();}
}

四、外观模式的总结

最少知识原则: 只和你的密友谈话。也就是说客户对象所需要交互的对象应当尽可能少。

博文参考

结构型 - 外观(Facade) | Java 全栈知识体系

http://www.lryc.cn/news/182351.html

相关文章:

  • 【算法学习】-【双指针】-【快乐数】
  • 【Java-LangChain:使用 ChatGPT API 搭建系统-6】处理输入-链式 Prompt Chaining Prompts
  • 从零手搓一个【消息队列】创建核心类, 数据库设计与实现
  • 14:00面试,14:06就出来了,这问的过于变态了。。。
  • url请求头信息
  • 【Oracle】Oracle系列之十六--数据库备份
  • uni-app:实现页面效果3
  • 计算机网络基础(一):网络系统概述、OSI七层模型、TCP/IP协议及数据传输
  • 互联网金融理财知识点简单总结
  • 微信小程序template界面模板导入
  • C/C++跨平台构建工具CMake-----在C++源码中读取CMakeLists.txt配置文件中的内容
  • 【MVP争夺战】python实现-附ChatGPT解析
  • 6 个最佳免费 Android 数据恢复软件
  • 数学建模Matlab之数据预处理方法
  • 如何保证Redis的HA高可用
  • 第一百六十三回 如何在任意位置显示PopupMenu
  • 采用python中的opencv2的库来运用机器视觉移动物体
  • 一、thymeleaf简介
  • 二分查找模版
  • idea清空缓存类
  • PAT(Basic Level) Practice(中文) 1015德才论
  • 接口自动化测试的概述及流程梳理~
  • 竞赛 机器视觉 opencv 深度学习 驾驶人脸疲劳检测系统 -python
  • 虚拟货币(也称为加密货币或数字货币)的运作
  • N. Number Reduction
  • Java集合面试题
  • Python 编程基础 | 第三章-数据类型 | 3.5、列表
  • Spring Cloud Zuul 基本原理
  • QT实现TCP服务器客户端的实现
  • 行为型设计模式——责任链模式