标签:des style class blog code java
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()) ; } }
标签:des style class blog code java
原文地址:http://www.cnblogs.com/liaokailin/p/3799985.html