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

广州自助企业建站模板跨国购物网站建设费用

广州自助企业建站模板,跨国购物网站建设费用,友情链接的概念,网站推荐正能量外观模式#xff08;Facade Pattern#xff09;是一种结构型设计模式#xff0c;它提供了一个统一的接口#xff0c;用于访问系统中的一组复杂子系统。外观模式通过将复杂子系统的接口封装在一个高层接口中#xff0c;简化了客户端与子系统之间的交互#xff0c;使得客户…外观模式Facade Pattern是一种结构型设计模式它提供了一个统一的接口用于访问系统中的一组复杂子系统。外观模式通过将复杂子系统的接口封装在一个高层接口中简化了客户端与子系统之间的交互使得客户端代码更加清晰、简洁。 外观模式的使用场景包括 简化复杂子系统的调用当一个系统中存在多个复杂的子系统时可以使用外观模式将这些子系统封装起来提供一个简单的接口给客户端使用。这样客户端就不需要直接与复杂子系统进行交互从而简化了调用过程。隔离变化当系统中的子系统发生变化时如果客户端与子系统直接耦合在一起可能会导致大量的代码修改。而通过外观模式只需要调整外观类即可客户端无需做出任何修改从而隔离了子系统变化对客户端的影响。提供统一的接口当系统中存在多个较为复杂的接口和协议时可以使用外观模式将这些接口和协议封装成一个简单的接口方便客户端进行调用。这样客户端无需关心具体的实现细节只需要与外观接口进行交互即可。构建分层结构系统当系统需要采用分层结构时可以使用外观模式建立各个层之间的联系。每个层的外观类作为对外的接口隐藏了底层的实现细节提供了一种简化的方式进行系统开发和维护。 外观模式中的主要角色有以下几个 外观Facade外观角色是外部客户端访问复杂子系统的入口点。它封装了底层子系统的复杂性提供了一个简单的接口供客户端使用。外观角色知道应该如何将客户端的请求委派给适当的子系统对象来进行处理。子系统Subsystem子系统角色包含一组相关的类或接口实现了子系统的具体功能。每个子系统都负责处理来自外观的请求并根据需要执行相应的操作。外观将这些请求委派给合适的子系统对象来完成实际的工作。客户端Client客户端角色通过调用外观角色提供的简化接口来间接地访问子系统的功能。客户端并不直接与子系统交互而是通过外观角色来完成需要的操作。 外观角色起到了协调和封装的作用隐藏了子系统的复杂性使得客户端可以更方便地使用子系统的功能。同时子系统角色通过提供具体的实现来满足外观角色的请求。客户端角色则通过与外观角色进行交互间接地使用子系统的功能。 java代码举例 以外卖送货为例根据业务分别将制作食物运输方式顾客信息拆分成三个服务做一个外观模式这三个服务集合在一起暴露一个对外接口 子系统 /*** 制作Coffee*/ public class Coffee {public String getCoffee(String coffeeType) {return 1.The coffeeType is ready ;;} }/*** 顾客信息*/ public class Customer {public String getCustomerInfo(String customerName) {return 3:Deliver to customerName ;;} }/*** 运输方式*/ public class Transport {public String getTransport(String transportType) {return 2.Choose transportType ;;} }外观 /*** 外观类* 集成制作Coffee选择对应的运输方式并送达到指定顾客手中*/ public class CoffeeFacade {private Coffee coffee;private Transport transport;private Customer customer;public CoffeeFacade() {this.coffee new Coffee();this.transport new Transport();this.customer new Customer();}public String getCoffee(String coffeeType, String transportType, String customerName) {StringBuilder sb new StringBuilder();sb.append(coffee.getCoffee(coffeeType));sb.append(transport.getTransport(transportType));sb.append(customer.getCustomerInfo(customerName));return sb.toString();}客户端 /*** 模拟客户端*/ public class Facade {public static void main(String[] args) {CoffeeFacade facade new CoffeeFacade();String starbucks facade.getCoffee(Starbucks, take-out, li-hong-wang);System.out.println(starbucks);} }运行结果 1.The Starbucks is ready ; 2.Choose take-out; 3:Deliver to li-hong-wang;外观模式的优缺点 优点 简化接口外观模式通过封装复杂子系统的接口提供了一个简化且统一的接口给客户端使用。这样可以降低客户端与子系统之间的耦合度并且减少了客户端需要了解的知识。隐藏实现细节外观模式将复杂子系统的实现细节隐藏在后面使得客户端不需要关心复杂的内部操作过程只需通过外观对象进行简单的调用即可。提高灵活性通过外观模式可以随时更改或扩展复杂子系统的实现而不会影响到客户端代码。对于客户端来说只要外观接口不发生变化就不需要做任何修改。降低依赖性外观模式将客户端与子系统解耦减少了客户端直接依赖于多个子系统的情况。这样可以减少代码的耦合度并提高代码的可维护性和可测试性。 缺点 过度增加外观类如果系统中的子系统非常复杂可能会导致外观类变得庞大而复杂。这样就会破坏了外观模式的简化和封装的初衷。不符合开闭原则当需要新增或修改子系统时可能需要修改外观类的代码。这可能会导致外观类的频繁修改违反了开闭原则。
http://www.hkea.cn/news/14340357/

相关文章:

  • 网站建设入门解读网站怎么改域名
  • 长兴网站建设公司手机编程软件python
  • 织梦技校招生网网站模板整站源码要制作自己的网站需要什么
  • 莱芜 做网站 公司网站开发怎么使用sharepoint
  • 基于j2ee的网站开发设计开题报告建小公司网站要多少钱
  • 自己的电脑做网站当服务器使用wordpress 文章不显示
  • 滨州的网站开发大连图文设计有限公司
  • 广告文化网站建设网站页面设计与制作实践
  • 弹幕网站是怎么做的宿州房地产网站建设
  • 中企动力是私企还是国企昆明网站seo诊断
  • 住房与城乡建设网站wordpress首页不同列表样式
  • 惠州网站搭建怎么做模板网站建设流程
  • 网站置顶代码有没有网站专门做cnc招聘
  • 网站建设培训个人塘沽网红书店
  • 网站内容营销产品软文范例100字
  • 网站年费海南省住房公积金管理局网站
  • 连云港网站优化重庆做网站 熊掌号
  • 怎样申请免费网站空间搜索引擎seo排名优化
  • 网站改版html泰安肥城建设局网站
  • 北京市专业网站制作企业WordPress文章添加灯箱
  • 成都做一个中小企业网站需要多少钱微信开放平台介绍
  • 网站开发与设计实训心得一千字网站地图提交地址
  • 网站建设策划范文设计公司包装
  • dedecms做门户网站WordPress汉化卡片式主题
  • 我想自己卖特产怎么做网站电商是做什么工作的
  • 做分销网站系统小程序开发公司在哪
  • 国外网站平台十大新媒体平台有哪些
  • 网站建设设计收费深圳经济最新新闻
  • wordpress按颜色搜索seo81
  • 做网站济宁wordpress upload 加密