首页 > 其他分享 >设计模式回顾之二:外观/门面模式(Facade)

设计模式回顾之二:外观/门面模式(Facade)

时间:2023-09-14 14:32:25浏览次数:25  
标签:封装 新类 系统 之二 使用 Facade 设计模式


设计模式回顾系列文章:

主要针对工作中常用常见的设计模式进行整理、总结,同时分享以供大家拍砖。

------------------------------------------------

外观/门面模式(Facade)

希望简化原有系统的使用方式,需要定义自己的接口。

Facade模式简化了对所需子系统的使用过程,但是由于Facade并不完整,因此客户可能无法使用某些功能。

实现:定义一个或多个具备所需接口的新类,让新的类使用原有的系统。

 

应用场景:

1:不需要使用一个复杂系统的所有功能, 而且可以创建一个新的类, 包含访问系统的所有规则。 如果只需要使用系统的部分功能(这是通常情况), 那么你为新类所创建的API将比原来系统的API简单的多。

2:希望封装或者隐藏原系统。

3:希望使用原系统的功能, 而且还希望增加一些新的功能。

4:编写新类的成本小于所有人学会使用或者未来维护原系统上所需的成本。

 

举例:

各种Util类均可以理解为Facade。JDBC封装DBUtil、Hibernate封装Util、FTP类封装、Date和String等工具类的封装。

标签:封装,新类,系统,之二,使用,Facade,设计模式
From: https://blog.51cto.com/u_6978506/7470160

相关文章

  • 设计模式回顾之十二:迭代器模式(Iterator)
    设计模式回顾系列文章:主要针对工作中常用常见的设计模式进行整理、总结,同时分享以供大家拍砖。------------------------------------------------迭代器模式(Iterator)提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。适用于:访问一个聚合对象的内容而......
  • 设计模式回顾之十:工厂方法模式(FactoryMethod)
    设计模式回顾系列文章:主要针对工作中常用常见的设计模式进行整理、总结,同时分享以供大家拍砖。------------------------------------------------工厂方法模式(FactoryMethod)定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。......
  • 设计模式回顾之九:建造者模式(Builder)
    设计模式回顾系列文章:主要针对工作中常用常见的设计模式进行整理、总结,同时分享以供大家拍砖。------------------------------------------------建造者模式(Builder)将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 适用于:当创建复杂对象的算法应该......
  • 设计模式之:1单例模式
    1 单例模式1.1     引言单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点。1.2     经典模式publicclassSingleton{privatestaticSingletoninstance;private......
  • 【设计模式】状态模式State:通过有限状态机监控功能的 "状态变化"
    (目录)状态模式的应用场景非常广泛,比如:线上购物订单、手机支付、音乐播放器、游戏、工作流引擎等场景。状态模式设计的初衷是应对同一个对象里不同状态变化时的不同行为的变化。模式原理原始定义是:允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了自己的......
  • 【设计模式】策略模式Strategy:解决不同活动策略营销推荐场景
    (目录)模板方法模式能帮助我们进行公有方法的抽取,起到快速复用和扩展的作用。另一种快速复用和扩展代码的行为型模式:策略模式。策略模式在实际的开发中很常用,最常见的应用场景是利用它来替换过多的if-else嵌套的逻辑判断。除此之外,还能结合工厂模式给客户端提供非常灵活的使......
  • 设计模式-观察者模式
    设计模式提供了软件开发过程中的一些最佳实践,可以帮助我们解决常见的编程问题,提高软件的可维护性和可复用性,并使我们的代码更加健壮和灵活。设计模式可以带来以下好处:提高代码的可读性和可维护性、提高软件的可复用性、提高开发效率、提高系统的灵活性和可扩展性。今天我们讲一下观......
  • 《精通Python设计模式》 PDF电子书 +源码
    第1章工厂模式第2章建造者模式第3章其他创建型模式第4章适配器模式第5章装饰器模式第6章桥接模式第7章外观模式第8章其他结构型模式第9章职责链模式第10章命令模式第11章观察者模式第12章状态模式第13章其他行为型模式第14......
  • 设计模式-门面模式
    门面模式(文章目录)1、什么是门面模式  门面模式为子系统提供一组统一的接口,定义一组高层接口让子系统更易用。注意这里针对的是接口。  这个定义很简洁,我再进一步解释一下。  假设有一个系统A,提供了a、b、c、d四个接口。系统B完成某个业务功能,需要调用A系统的......
  • 6. 前端设计模式之观察者模式
    使用观察者模式,我们可以将某些对象(观察者)订阅到另一个对象(可观察对象)。当一个事件发生时,可观察对象会通知它的所有观察者!这个模式出境的概率就比较高了,无论是在前端还是后端,都能见到它的身影,特别跟事件有关的场景。从定义看这个模式涉及到两种对象,一种可观察对象也就是观察的......