码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式11-外观模式

时间:2014-06-23 00:12:40      阅读:250      评论:0      收藏:0      [点我收藏+]

标签: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()) ;
    }
}

 

设计模式11-外观模式,布布扣,bubuko.com

设计模式11-外观模式

标签:des   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/liaokailin/p/3799985.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!