设计模式--外观模式

1.定义:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。


2.代码部分

public interface AModuleApi {

	public void testA();
}

public class AModuleImpl implements AModuleApi {

	@Override
	public void testA() {
		System.out.println("现在在A模块里面操作testA方法。");
	}

}

public interface BModuleApi {

	public void testB();
}

public class BModuleImpl implements BModuleApi {

	@Override
	public void testB() {
		System.out.println("现在在B模块里面操作testB方法。");
	}

}

public interface CModuleApi {

	public void testC();
}

public class CModuleImpl implements CModuleApi {

	@Override
	public void testC() {
		System.out.println("现在在C模块里面操作testC方法。");
	}

}

public class Facade {

	public void test() {
		AModuleApi a = new AModuleImpl();
		a.testA();
		BModuleApi b = new BModuleImpl();
		b.testB();
		CModuleApi c = new CModuleImpl();
		c.testC();
	}
}

public class Client {

	public static void main(String[] args) {
		new Facade().test();
	}
}



3.外观模式解读
  外观模式的目的不是给子系统添加新的功能接口,而是为了让外部系统减少与子系统内多个模块的交互,

  松散耦合,从而让外部能够更简单地使用子系统。
4.外观模式的本质 --- 封装交互,简化调用。
  外观模式很好地体现了“最少知识原则”。
5.外观模式适用场景
  如果你希望为一个复杂的子系统提供一个简单接口的时候,可以考虑使用外观模式。

使用外观对象来实现大部分客户需要的功能,从而简化客户的使用。
  如果想要让客户程序和抽象类的实现部分松散耦合,可以考虑使用外观模式,使用外观对象来将这个子系统与它的客户分离开来,从而提高子系统的独立性和可移植性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值