外观模式提供给客户一个统一外观接口,无须知道内部复杂实现,仅通过外观接口就可以和系统内各个子系统进行交互.
比如买房子时,自己去联系房东,交易中心,银行是很复杂的事情,这时候可以通过接口中介代理,整个过程由中介代办,买房者只须和中介进行交互即可.
java实现代码:
package com.liu.pattern11;
public class TestFacade {
public static void main(String[] args) {
// TODO Auto-generated method stub
Agency agency = new Agency();
agency.test();
}
}
class TradeCenter{
public void test(){
System.out.println("缴税");
System.out.println("办产证");
}
}
class Bank{
public void test(){
System.out.println("办贷款");
}
}
class HousHolder{
public void test(){
System.out.println("看房子");
System.out.println("付定金");
System.out.println("签合同");
System.out.println("付款");
}
}
class Agency{
public void test(){
new HousHolder().test();
new Bank().test();
new TradeCenter().test();
}
}
c#实现代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace com.liu.pattern11
{
class TestFacade
{
static void Main(string[] args)
{
new Agency().test();
System.Console.ReadKey();
}
}
class TradeCenter
{
public void Test(){
System.Console.WriteLine("缴税");
System.Console.WriteLine("办产证");
}
}
class Bank
{
public void Test(){
System.Console.WriteLine("办贷款");
}
}
class HousHolder
{
public void Test(){
System.Console.WriteLine("看房子");
System.Console.WriteLine("付定金");
System.Console.WriteLine("签合同");
System.Console.WriteLine("付款");
}
}
class Agency
{
public void test()
{
new HousHolder().Test();
new Bank().Test();
new TradeCenter().Test();
}
}
}