天天看點

GOF23設計模式之外觀模式之實作



package com.bjsxt.cn.facade;

public interface  工商局 {

 public void checkName();

}

class 海澱區工商局 implements 工商局 {

 @Override

 public void checkName() {

  System.out.println("核實是否有重名!");

 }

}

package com.bjsxt.cn.facade;

public interface 稅務局 {

 public void taxCertificate();

}

class 海澱區稅務局 implements 稅務局 {

 @Override

 public void taxCertificate() {

  System.out.println("海澱區稅務局頒發稅務憑證");

 }

}

package com.bjsxt.cn.facade;

public interface 銀行 {

 public void openAccount();

}

class 中國人民銀行 implements 銀行 {

 @Override

 public void openAccount() {

  System.out.println("中國人民銀行為我開戶!");

 }

}

package com.bjsxt.cn.facade;

public interface 質監局 {

 public void checkQuality();

 public void orgCertificate();

}

class 海澱區質監局 implements 質監局 {

 @Override

 public void checkQuality() {

  System.out.println("海澱區質監局核實産品品質");

 }

 @Override

 public void orgCertificate() {

  System.out.println("海澱區質監局頒發證書");

 }

}

package com.bjsxt.cn.facade;

public class FacadeRegister {

 void register() {

  工商局 g = new 海澱區工商局();

  g.checkName();

  稅務局 s = new 海澱區稅務局();

  s.taxCertificate();

  銀行 y = new 中國人民銀行();

  y.openAccount();

  質監局 z = new 海澱區質監局();

  z.checkQuality();

  z.orgCertificate();

 }

}

package com.bjsxt.cn.facade;

public class Client {

 public static void main(String[] args) {

  new FacadeRegister().register();

 }

GOF23設計模式之外觀模式之實作

繼續閱讀