设计模式之外观模式
来源:互联网 发布:怎么在淘宝看直播 编辑:程序博客网 时间:2024/06/15 23:55
概述:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
角色;
- Facade 知道哪些子系统类负责处理请求。 将客户的请求代理给适当的子系统对象
- Subsystemclasses 实现子系统的功能。 处理由Facade对象指派的任务。
没有facade的任何相关信息;即没有指向facade的指针
类图:
实现:
首先是两个接口:
interface ServiceA { void methodA();}
interface ServiceB { void methodB();}
其次是两个接口的实现:
public class ServiceImplA implements ServiceA { public void methodA() { System.out.println("AAAAA"); }}
public class ServiceImplB implements ServiceB { public void methodB() { System.out.println("BBBBBBB"); }}
然后是外观模式具体类:
public class Facade { ServiceA sa; ServiceB sb; public Facade() { sa = new ServiceImplA(); sb = new ServiceImplB(); } public void methodA() { sa.methodA(); } public void methodB() { sb.methodB(); }}
测试:
public static void main(String[] args) { Facade f = new Facade(); f.methodA(); }
打印:
AAAAA
0 0
- 设计模式之外观
- 设计模式之外观
- 设计模式 之 外观
- 设计模式之外观
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- Unity3D学习(12)之粒子光环
- Java序列化的几种方式
- 【Struts2】Struts2学习(1)简介基本流程、配置
- make/makefile中的加号+,减号-和at号@的含义
- android贝塞尔曲线之波浪效果
- 设计模式之外观模式
- ZOJ3958-Cooking Competition
- 利用formdata实现一个input 上传类型 上传多个图片
- AWS CLI S3 A client error (403) occurred when calling the HeadObject operation: Forbidden
- AsyncHttpResponseHandler关系图
- STP的选举
- LAS 点云数据格式
- ListView 通用Adapter封装
- 网络编程一(IP,TCP和UDP, DatagramSocket与DatagramPacket,TCP传输)