争怎路由网/网站教程/内容

设计模式之Facade——家庭篇

网站教程2024-07-03 阅读

1、  在这里,先定义家庭的各个成员类:

妻子(Wife):

public class Wife {

  protected Wife() {

    System.out.println("老婆伟大 !");

  }

}

女儿(Daughter):

public class Daughter {

  protected Daughter () {

    System.out.println("女儿可爱 !");

  }

}

我(Me):

public class Me {

  protected Me() {

    System.out.println("我爱我家 !");

  }

}

2、定义家庭对外展现(FamilyOutShow)类:

public class FamilyOutShow {

  public void MyFamily() {

    Wife myWife = new Wife();  //我的老婆

    Daughter myDaughter = new Daughter ();  //我的女儿

    Me me= new Me();  //我自己

  }

}

3、编写测试类:

public class MyFamilyTest {

  public static void main(String[] args) {

      FamilyOutShow myFamily = new FamilyOutShow ();

      myFamily.MyFamily();

  }

}

4、说明:

AFacade的定义: 为子系统中的一组接口提供一个一致的界面。

B使用统一对外接口,可以降低系统的复杂性,增加了灵活性。

C:从例子中可以看到,外界只是访问了家庭对外展现(FamilyOutShow)类,而没有直接与成员类打交道。这样比如说增加了一个新的成员类(比如说儿子(Son)类),只要修改家庭对外展现(FamilyOutShow)类即可,而不用修改调用。




……

相关阅读