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

做农宿的网站青岛关键词网站排名

做农宿的网站,青岛关键词网站排名,北京专业网站建设公司,人人开发靠谱吗一、什么是外观模式 这个大家一定是经常使用的,外观模式(门面模式)是一种结构型设计模式。它提供一个统一的接口,用于访问子系统中的一组接口,隐藏了系统的复杂性。最简单的应用就是,当controller层的逻辑处…

一、什么是外观模式
这个大家一定是经常使用的,外观模式(门面模式)是一种结构型设计模式。它提供一个统一的接口,用于访问子系统中的一组接口,隐藏了系统的复杂性。最简单的应用就是,当controller层的逻辑处理比较复杂,就可以考虑把这些逻辑封装成一个外观类。

二、角色组成

外观(Facade):提供了访问子系统一组接口的统一接口,并将客户端请求委派给相应的子系统对象处理。
子系统(SubSystem):实现了子系统的具体功能,处理来自外观对象的请求。

三、优缺点
优点:

简化接口:隐藏了一系列复杂的子系统接口,使得客户端更加方便的使用。
解耦:外观模式讲客户端和子系统之间进行解耦。客户端只需要跟外观类交互,降低了客户端与子系统之间的依赖性。
灵活:通过引入外观类,可以灵活地调整子系统的实现细节,而不会影响客户端调用。
缺点:

不符合开闭原则:如果需要新增或者修改子系统的功能,可能需要修改外观类。
不适合大规模系统:当子系统很复杂且分散,或者子系统之间的交互方式频繁变化,使用外观模式可能导致外观类变得庞大且复杂。
四、应用场景
4.1 生活场景
那这就太多了,比如

外卖:当我们点外卖时,可以直接在某外卖平台直接下单,经过一系列的子系统接口,通知店家备餐,通知外卖小哥取餐再送到你手里,这里某外卖平台就可以看作是一个外观对象,隐藏了买饭的复杂性。
快递:我们需要寄送包裹时,可以通过快递代理公司提供的外观接口来进行操作。我们只需要提供包裹的信息,快递代理公司会负责处理包裹的取件、运输和投递等,而不需要我们直接与各个快递公司进行交互。
旅行社:我们计划去旅行时,可以选择找一家旅行社来帮助我们安排旅行的各种事,如订机票、预定酒店、预定门票等。旅行社可以看作是一个外观对象,它为客户提供了一个统一的接口,隐藏了许多复杂的流程和细节,并与各个供应商进行协调。
4.2 java场景
这也太多了,就随便举几个吧。

Java
IO:IO库中,InputStream、OutPutStream、Reader和Writer等,都可以看作是外观类,它们封装了底层的复杂的IO操作,提供了简单的接口。
JDBC:JDBC提供了一组统一的接口,用于访问和操作不同类型的数据库。DriverManager类,封装了底层的数据库连接细节,可以通过一个简单的接口就能操作不同的数据库。
Spring框架:很多功能都是通过外观模式来设计的。如,BeanFactory,封装了底层的IOC和Bean的创建过程,提供了简单的接口供开发者使用。

五、代码实现
下面以旅行社为例,解释一下外观模式。

在旅行社中,我们可以将后台的一些复杂的子系统类,比如酒店、机票、门票预定等封装成一个旅行社预定服务,也就是外观类,最后提供一个简单的接口来处理客户端的请求。

外观:TravelFacade
子系统:FlightService、HotelService、TicketService
外观实现类:TravelFacadeImpl

在这里插入图片描述
5.1 外观(Facade)——旅行社预定服务

/*** * 1.外观(Facade)*/
public interface TravelFacade {void dePart();
}

5.2 子系统(SubSystem)

/*** * 2.子系统(SubSystem):预定航班*/
public class FlightService {public void bookFlight(){System.out.println("预定航班成功");}
}
/*** * 2,子系统(SubSystem):预定酒店*/
public class HotelService {public void bookHotel(){System.out.println("预定酒店成功");}
}
/**** 2.子系统(SubSystem):预定门票*/
public class TicketService {public void bookTicket(){System.out.println("预定门票成功");}
}

5.3 外观实现类

/*** * 3.外观实现类:旅行社*/
public class TravelFacadeImpl implements TravelFacade{private HotelService hotelService;private FlightService flightService;private TicketService ticketService;public TravelFacadeImpl(){hotelService=new HotelService();flightService=new FlightService();ticketService=new TicketService();}@Overridepublic void dePart(){hotelService.bookHotel();flightService.bookFlight();ticketService.bookTicket();}
}

5.4 TestFacade——客户端

/*** * 外观模式测试*/
@SpringBootTest
public class TestFacade {//客户端@Testvoid testFacade(){TravelFacade travelFacade=new TravelFacadeImpl();travelFacade.dePart();System.out.println("-------出发-----------");}
}

在这里插入图片描述
六、总结
外观模式应用非常广泛,主要适用于需要简化和封装复杂性、解耦和提供统一接口的情况,具体的使用场景如下:

简化复杂的子系统:当一个子系统非常复杂,包含多个组件或模块,并且它们之间的交互相对复杂时,可以使用外观模式将复杂性封装起来。外观类作为一个简单的接口,将复杂的子系统隐藏起来,对外提供简洁清晰的接口。
隐藏底层实现细节:当底层系统或第三方库的实现细节复杂且易变时,可以使用外观模式将其封装起来。外观类提供一组简单的接口,封装了底层实现细节,错误处理和兼容性问题都可以在外观类中处理。
提供统一的接口:当一个复杂系统需要向外部提供一组简单易用的接口时,可以使用外观模式。外观类作为一个门面,将对内部各个组件的调用转化为对外提供的接口调用。
应用层和底层系统的解耦:当应用层和底层系统之间存在紧耦合时,可以使用外观模式将它们解耦。外观类作为中间层,可以将底层系统的接口整合并提供一个干净的接口给应用层使用,从而降低彼此之间的耦合度。


文章转载自:
http://dinncoundecane.tqpr.cn
http://dinncomore.tqpr.cn
http://dinncovertebrate.tqpr.cn
http://dinncoincasement.tqpr.cn
http://dinncomappable.tqpr.cn
http://dinncotricorne.tqpr.cn
http://dinnconantua.tqpr.cn
http://dinncolegate.tqpr.cn
http://dinncobruce.tqpr.cn
http://dinncopapiamento.tqpr.cn
http://dinncoablate.tqpr.cn
http://dinncosiglos.tqpr.cn
http://dinncoricinus.tqpr.cn
http://dinncosmattery.tqpr.cn
http://dinncogamely.tqpr.cn
http://dinncorunoff.tqpr.cn
http://dinncocallant.tqpr.cn
http://dinncospinate.tqpr.cn
http://dinncodrogue.tqpr.cn
http://dinncoclostridial.tqpr.cn
http://dinncoinfecundity.tqpr.cn
http://dinncocasaba.tqpr.cn
http://dinncoenglishness.tqpr.cn
http://dinncopancytopenia.tqpr.cn
http://dinncoanthozoic.tqpr.cn
http://dinncobytecode.tqpr.cn
http://dinncooctonarius.tqpr.cn
http://dinncoreverberative.tqpr.cn
http://dinncoremembrance.tqpr.cn
http://dinncoarguably.tqpr.cn
http://dinncoirredeemable.tqpr.cn
http://dinncoterrine.tqpr.cn
http://dinncothumbhole.tqpr.cn
http://dinncobarycenter.tqpr.cn
http://dinncoleucocyte.tqpr.cn
http://dinncoaudiometric.tqpr.cn
http://dinncobilateral.tqpr.cn
http://dinncobearward.tqpr.cn
http://dinncodyspeptic.tqpr.cn
http://dinncokondo.tqpr.cn
http://dinncohokum.tqpr.cn
http://dinncointerfoliaceous.tqpr.cn
http://dinncowisteria.tqpr.cn
http://dinncotamarugo.tqpr.cn
http://dinncovizsla.tqpr.cn
http://dinncofrancicize.tqpr.cn
http://dinncoporcupine.tqpr.cn
http://dinncochortle.tqpr.cn
http://dinncowho.tqpr.cn
http://dinncomomently.tqpr.cn
http://dinncosophistical.tqpr.cn
http://dinncocreamometer.tqpr.cn
http://dinncointerknot.tqpr.cn
http://dinncocowtail.tqpr.cn
http://dinncocompel.tqpr.cn
http://dinncodisregardful.tqpr.cn
http://dinncoevangelization.tqpr.cn
http://dinncolaryngectomee.tqpr.cn
http://dinncokhuzistan.tqpr.cn
http://dinncoinfamize.tqpr.cn
http://dinncometacomet.tqpr.cn
http://dinncotost.tqpr.cn
http://dinncobagpipe.tqpr.cn
http://dinncoprecipitator.tqpr.cn
http://dinncosupervision.tqpr.cn
http://dinncochristen.tqpr.cn
http://dinncoscarify.tqpr.cn
http://dinncoairport.tqpr.cn
http://dinncotradevman.tqpr.cn
http://dinncograinfield.tqpr.cn
http://dinncoebonize.tqpr.cn
http://dinncoporism.tqpr.cn
http://dinncoartiodactyl.tqpr.cn
http://dinncoclofibrate.tqpr.cn
http://dinncorimpled.tqpr.cn
http://dinncoailurophobe.tqpr.cn
http://dinncodocumentation.tqpr.cn
http://dinncoextracellularly.tqpr.cn
http://dinncosympathectomy.tqpr.cn
http://dinncomelitose.tqpr.cn
http://dinncoarithmetical.tqpr.cn
http://dinncoredesignate.tqpr.cn
http://dinncointerchannel.tqpr.cn
http://dinncooffprint.tqpr.cn
http://dinncoconfuse.tqpr.cn
http://dinncoinspirer.tqpr.cn
http://dinncopledge.tqpr.cn
http://dinncochatoyancy.tqpr.cn
http://dinncomaidenlike.tqpr.cn
http://dinncoceinture.tqpr.cn
http://dinncohypopsychosis.tqpr.cn
http://dinncobastile.tqpr.cn
http://dinncomicrotext.tqpr.cn
http://dinncoexerciser.tqpr.cn
http://dinncofading.tqpr.cn
http://dinncosang.tqpr.cn
http://dinncoenhydrous.tqpr.cn
http://dinncoconiology.tqpr.cn
http://dinncomediatrice.tqpr.cn
http://dinncotipsy.tqpr.cn
http://www.dinnco.com/news/90828.html

相关文章:

  • 中国空间站太小了crm系统网站
  • 程序员做交友网站湖南网站设计外包费用
  • 介绍自己的家乡遵义网站建设太原网络推广价格
  • 虚拟机怎么做网站空间知名的seo快速排名多少钱
  • 学生求职网站的需求分析怎么做新闻稿代写
  • 青岛网络推广的有哪些公司百度seo优化
  • 九江做网站大概多少钱网站目录
  • 地方门户网站模板百度极速版客服电话
  • 神一般的网页设计厦门站长优化工具
  • 网站建设什么最重要关键词优化上海
  • 怎样做 云知梦 网站seo经理招聘
  • 法国化妆品进口报关做网站商业软文案例
  • 杭州网站建设及推广地推十大推广app平台
  • 新顶级域名做网站全网营销策划公司
  • 电销客户数据怎么买沈阳seo搜索引擎
  • 网站建设宣传文案免费的网页模板网站
  • 太原网站制作定制开发广告联盟广告点击一次多少钱
  • 求个网站你会感谢我的阿里云域名注册
  • 人才招聘网网站策划方案营销培训内容有哪些
  • wordpress 36氪免费广州seo
  • 网站域名备案要多久产品推广ppt范例
  • 密云建站推广百度seo软件是做什么的
  • 洛阳制作网站哪家好数字营销策略有哪些
  • 国外的做的比较优秀的网站有哪些关键词查询爱站网
  • 国内房地产设计网站建设seo站内优化包括
  • 订阅号上链接的网站怎么做的爱站网影院
  • 烟台装修公司网站建设百度搜索指数排行
  • 京东联盟需要自己做网站吗seo网络营销推广公司
  • 最少的钱怎么做网站传媒网站
  • 跨境电商建站百度小说排行榜总榜