zoukankan      html  css  js  c++  java
  • 外观模式

    转载:UML:http://www.cnblogs.com/devinzhang/archive/2012/01/06/2315200.html

    设计原则:减少对象之间的交互。

    定义:提供一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。

      而适配器是将原来的接口转换为客户希望的接口。

    package facade;  
    class DrawerOne {
    public void open(){
    System.out.println("第一个抽屉被打开了");
    getKey();
    }
    public void getKey(){
    System.out.println("得到第二个抽屉的钥匙");
    }
    }
    class DrawerTwo{
    public void open(){
    System.out.println("第二个抽屉被打开了");
    getFile();
    }
    public void getFile(){
    System.out.println("得到这个重要文件");
    }
    }
    class DrawerFacade{
    DrawerOne darwerOne=new DrawerOne();
    DrawerTwo darwerTwo=new DrawerTwo();
    public void open(){
    darwerOne.open();
    darwerTwo.open();
    }
    }
    public class DrawerClient{
    public static void main(String []args){
    DrawerFacade drawer=new DrawerFacade();
    drawer.open();
    }
    }

    程序的方法之间可以没有关联性,这个不重要。


    应用场景:

      1)为一个复杂子系统提供一个简单接口。

      2)提高子系统的独立性。

      3)在层次化结构中,可以使用Facade模式定义系统中每一层的入口。

  • 相关阅读:
    Codeforces Beta Round #6 (Div. 2 Only)
    Codeforces Beta Round #5
    Codeforces Beta Round #4 (Div. 2 Only)
    Codeforces Beta Round #3
    Codeforces Beta Round #2
    Codeforces Beta Round #1
    HDU 4020 Ads Proposal
    SRM 615 DIV1 500
    求1+2+……+n(位运算)
    好好加油!
  • 原文地址:https://www.cnblogs.com/fanguangdexiaoyuer/p/5823514.html
Copyright © 2011-2022 走看看