`
dengwenwei121
  • 浏览: 36406 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

外观模式

 
阅读更多

一、什么是外观模式

Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种。Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade

二、外观模式的结构

三、外观模式的角色和职责

Facade
为调用方定义简单的调用接口。

Clients
调用者。通过Facade接口调用提供某功能的内部类群。

Packages
功能提供者。指提供功能的类群(模块或子系统)。

package com.dw.test;
//Facade为调用方定义简单的调用接口。
public class ShouJiFacade {
   private XiaomiPackages xiaomi;
   private MeizuPackages meizu;
   public ShouJiFacade()
   {
	   this.xiaomi=new XiaomiPackages();
	   this.meizu=new MeizuPackages();
   }
   public void maishoujiA() {
        this.xiaomi.maiXiaomi();
   }
   public void maishoujiB() {
	   this.xiaomi.maiXiaomi();
	   this.meizu.tejiaMeizu();
   }
}

package com.dw.test;
//功能提供者。指提供功能的类群(模块或子系统)
public class XiaomiPackages {
   public void maiXiaomi() {
	   System.out.println("卖小米手机");
   }
}

package com.dw.test;

public class MeizuPackages {
	public void tejiaMeizu() {
		System.out.println("特价魅族");
	}
}

package com.dw.test;

//Clients调用者。通过Facade接口调用提供某功能的内部类群。
public class MainClients {

	public static void main(String[] args) {
		ShouJiFacade sf=new ShouJiFacade();
		sf.maishoujiA();
		sf.maishoujiB();
	}

}



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics