首页 > 代码库 > 设计模式11-外观模式
设计模式11-外观模式
1. 概念
为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
2 .案例
/********************************************************************** * <pre> * FILE : Demo01.java * CLASS : Demo01 * * AUTHOR : Liaokailin * * FUNCTION : TODO * * *====================================================================== * CHANGE HISTORY LOG *---------------------------------------------------------------------- * MOD. NO.| DATE | NAME | REASON | CHANGE REQ. *---------------------------------------------------------------------- * |2014-3-6|Liaokailin| Created | * DESCRIPTION: * </pre> ***********************************************************************/package org.demo.facade.demo01;import java.text.SimpleDateFormat;import java.util.Date;interface ServiceA{ void methodA() ;}interface ServiceB{ void methodB() ;}interface ServiceC{ void methodC() ;}class ServiceAImpl implements ServiceA{ public void methodA() { System.out.println("serviceA :methodA"); }}class ServiceBImpl implements ServiceB{ public void methodB() { System.out.println("serviceB :methodB"); }}class ServiceCImpl implements ServiceC{ public void methodC() { System.out.println("serviceC :methodC"); }}class Facade{ ServiceA sa ; ServiceB sb ; ServiceC sc ; public Facade(){ sa = new ServiceAImpl() ; sb = new ServiceBImpl() ; sc = new ServiceCImpl() ; } public void methodA(){ sa.methodA() ; sb.methodB() ; } public void methodB(){ sb.methodB() ; sc.methodC() ; } public void methodC(){ sc.methodC() ; sa.methodA() ; }}public class Demo01 { public static void main(String[] args) { ServiceA sa = new ServiceAImpl() ; ServiceB sb = new ServiceBImpl() ; sa.methodA() ; sb.methodB() ; System.out.println("----"); System.out.println("facade"); Facade facade = new Facade() ; facade.methodA() ; facade.methodB() ; SimpleDateFormat s = new SimpleDateFormat() ; s.format(new Date()) ; }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。