当前位置: 首页 > wzjs >正文

企业网站建设ppt最快的新闻发布平台

企业网站建设ppt,最快的新闻发布平台,wordpress添加视频教程,无锡做企业网站小谈设计模式(13)—外观模式 专栏介绍专栏地址专栏介绍 外观模式主要目的角色分析外观(Facade)角色子系统(Subsystem)角色客户端(Client)角色 工作原理核心思想总结简化接口解耦客户…

小谈设计模式(13)—外观模式

  • 专栏介绍
    • 专栏地址
    • 专栏介绍
  • 外观模式
    • 主要目的
    • 角色分析
      • 外观(Facade)角色
      • 子系统(Subsystem)角色
      • 客户端(Client)角色
    • 工作原理
    • 核心思想总结
      • 简化接口
      • 解耦客户端和子系统
      • 隐藏实现细节
    • Java程序实现
      • 程序分析
    • 优缺点分析
      • 优点
        • 简化客户端的操作
        • 解耦客户端和子系统
        • 提高系统的可用性和可维护性
      • 缺点
        • 可能导致系统变得更加复杂
        • 限制了灵活性
    • 总结

专栏介绍

专栏地址

link

专栏介绍

主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。
在这里插入图片描述

外观模式

外观模式(Facade Pattern)是一种结构型设计模式,它提供了一个统一的接口,用于访问子系统中的一组接口。外观模式定义了一个高层接口,使得子系统更容易使用。

主要目的

简化复杂系统的接口。它通过提供一个统一的接口,隐藏了子系统的复杂性,使得客户端可以更方便地使用系统。外观模式通过将客户端与子系统解耦,提供了一个简化的接口,从而降低了系统的复杂性。
在这里插入图片描述

角色分析

外观(Facade)角色

外观角色是外观模式的核心。它知道哪些子系统类负责处理请求,并将客户端的请求委派给适当的子系统对象。外观角色通常是单例模式,可以提供一个简单的接口,隐藏了子系统的复杂性。

子系统(Subsystem)角色

子系统角色是外观模式中的各个子系统类。它们是实际处理请求的类,完成具体的功能。外观角色将客户端的请求委派给适当的子系统对象,由子系统对象完成具体的操作。

客户端(Client)角色

客户端角色是使用外观模式的类。它通过调用外观角色的接口来完成操作,而不需要直接与子系统类交互。客户端角色只需要知道外观角色提供的简单接口,无需了解子系统的复杂性。

在这里插入图片描述

工作原理

客户端通过调用外观角色的接口来进行操作,外观角色将请求委派给适当的子系统对象,子系统对象完成具体的操作并返回结果给客户端。客户端无需了解子系统的复杂性,只需要通过外观角色来访问子系统。这样可以降低系统的复杂性,提高系统的可维护性和可扩展性。

核心思想总结

简化接口

外观角色提供了一个简化的接口,将子系统的一组接口封装起来,使得客户端可以更方便地使用系统。客户端只需要调用外观角色的接口,无需了解子系统的复杂性。

解耦客户端和子系统

外观模式将客户端与子系统解耦,客户端只需要与外观角色交互,而不需要直接与子系统类交互。这样可以降低客户端的复杂性,同时也提高了系统的可维护性和可扩展性。

隐藏实现细节

外观模式将子系统的实现细节隐藏起来,只暴露给客户端一个简单的接口。这样可以保护子系统的实现细节,防止客户端直接访问和修改子系统的内部实现。
在这里插入图片描述

Java程序实现

// 子系统类A
class SubsystemA {public void operationA() {System.out.println("SubsystemA operation");}
}// 子系统类B
class SubsystemB {public void operationB() {System.out.println("SubsystemB operation");}
}// 外观类
class Facade {private SubsystemA subsystemA;private SubsystemB subsystemB;public Facade() {subsystemA = new SubsystemA();subsystemB = new SubsystemB();}public void operation() {subsystemA.operationA();subsystemB.operationB();}
}// 客户端类
public class Client {public static void main(String[] args) {Facade facade = new Facade();facade.operation();}
}

程序分析

在上面的示例中,我们定义了两个子系统类 SubsystemA 和 SubsystemB,它们分别实现了不同的操作。然后我们定义了一个外观类 Facade,它将子系统类封装起来,并提供了一个简化的接口 operation。客户端类 Client 使用外观类来完成操作,而不需要直接与子系统类交互。
在这里插入图片描述

优缺点分析

优点

简化客户端的操作

外观模式提供了一个简化的接口,隐藏了子系统的复杂性,使客户端更容易使用。

解耦客户端和子系统

外观模式将客户端与子系统解耦,客户端只需要与外观类进行交互,不需要直接与子系统类交互,降低了客户端的复杂性。

提高系统的可用性和可维护性

外观模式将子系统的实现细节封装起来,保护了子系统的实现细节,使系统更加稳定和可维护。
在这里插入图片描述

缺点

可能导致系统变得更加复杂

当系统变得复杂时,外观类可能会变得庞大,难以维护。

限制了灵活性

外观模式隐藏了子系统的复杂性,但也限制了客户端对子系统的灵活访问。

总结

外观模式在简化客户端操作、解耦客户端和子系统、提高系统可用性和可维护性方面具有很大的优势,适用于需要隐藏复杂子系统的情况。但需要注意在设计时避免外观类变得庞大和过于复杂,以及权衡灵活性和封装性。在这里插入图片描述

http://www.dtcms.com/wzjs/404956.html

相关文章:

  • 长春营销型网站制作手机网页制作
  • 橙子建站怎么注册江阴百度推广公司
  • 网站登记模板seo的基础是什么
  • 网站做的关键词被屏蔽个人免费网站建设
  • 受欢迎的丹阳网站建设百度搜索广告价格
  • 建筑公司企业所得税aso优化方案
  • 网站建设多少成都百度
  • wordpress mysql数据库win7优化设置
  • 分类信息网站建设免费创建个人网页
  • 哪个网站做娱乐网络营销推广策划案例
  • 万户网站制作优化设计答案五年级下册
  • 苏州做企业网站建设百度上做推广怎么做
  • 网站同城在线哪里做网上推广专员是什么意思
  • 做外贸实用网站2023年的新闻十条
  • 淄博微网站建设google下载安卓版
  • 做悬赏的网站常州网站推广排名
  • 大连自助建站网站提交收录
  • 滁州建设厅网站宁宁网seo
  • 万户做网站如何福州关键词排名优化
  • wordpress删除文章rss优化网络
  • 网站建设所出现的问题长沙百度首页优化排名
  • 怎么开微信小程序店铺临沂seo排名外包
  • 上市公司做家具网站谷歌play商店
  • 西宁微网站建设多少钱百度关键词排名推广工具
  • 龙岩做网站的地方有哪些专业做app软件开发公司
  • 手机网站怎么切图乐云seo
  • 中建材建设有限公司网站百度网盟推广怎么做
  • 做苗木免费网站重庆疫情最新消息
  • 最准确的汽车报价网谷歌优化排名怎么做
  • 台州网站建设方案成都seo推广员