java设计模式中外观模式怎么实现
小编给大家分享一下java设计模式中外观模式怎么实现,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
10余年建站经验, 成都网站制作、成都网站设计客户的见证与正确选择。创新互联提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。
外观模式(门面模式) Facade
Intro
外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
Prototype
Facade: 外观类,知道哪些子系统类负责处理请求,将请求代理给对应的子系统对象 SubSystem Classes,实现子系统中的功能,处理 Facade 指派的任务,和 Facade 没有关联关系,没有继承,也不会引用 Facade
public class SubSystem1
{
public void MethodA()
{
Console.WriteLine("MethodA in SubSystem1");
}
public void MethodB()
{
Console.WriteLine("MethodB in SubSystem1");
}
}
public class SubSystem2
{
public void MethodA()
{
Console.WriteLine("MethodA in SubSystem2");
}
public void MethodB()
{
Console.WriteLine("MethodB in SubSystem2");
}
}
public class SubSystem3
{
public void MethodA()
{
Console.WriteLine("MethodA in SubSystem3");
}
public void MethodB()
{
Console.WriteLine("MethodB in SubSystem3");
}
}
public class Facade
{
private readonly SubSystem1 _subSystem1 = new SubSystem1();
private readonly SubSystem2 _subSystem2 = new SubSystem2();
private readonly SubSystem3 _subSystem3 = new SubSystem3();
public void MethodA()
{
_subSystem1.MethodA();
_subSystem2.MethodA();
_subSystem3.MethodA();
Console.WriteLine();
}
public void MethodB()
{
_subSystem1.MethodB();
_subSystem2.MethodB();
_subSystem3.MethodB();
Console.WriteLine();
}
}
var facade = new Facade();
facade.MethodA();
facade.MethodB();
应用场景
解决易用性问题,可以用来封装系统的底层实现,隐藏系统的复杂性,提供一组更加简单易用、更高层的接口。 解决性能问题,通过将多个接口调用替换为一个门面接口调用,减少网络通信成本,提高 App 客户端的响应速度。API 聚合就是属于这种,也是属于外观模式的应用 解决事务问题,通过门面模式可以方便的使得原本多个操作可以在一个事务内完成,如果中间某一个环节操作失败,可以回滚事务,撤销变更
看完了这篇文章,相信你对“java设计模式中外观模式怎么实现”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
新闻标题:java设计模式中外观模式怎么实现
本文链接:http://scyanting.com/article/psedco.html