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

网站建设制作免费咨询注册城乡规划师考试大纲

网站建设制作免费咨询,注册城乡规划师考试大纲,虚拟主机网站301跳转,wordpress 文章内链门面模式(Facade Pattern)又叫作外观模式#xff0c;提供了一个统一的接口#xff0c;用来访问子系统中的一群接口。其主要特征是定义了一个高层接口#xff0c;让子系统更容易使用#xff0c;属于结构型设计模式。 其实#xff0c;在日常编码工作中#xff0c;我们都在有…门面模式(Facade Pattern)又叫作外观模式提供了一个统一的接口用来访问子系统中的一群接口。其主要特征是定义了一个高层接口让子系统更容易使用属于结构型设计模式。 其实在日常编码工作中我们都在有意无意地大量使用门面模式。但凡只要高层模块需要调度多个子系统(2个以上类对象)我们都会自觉地创建一个新类封装这些子系统提供精简的接口让高层模块可以更加容易地间接调用这些子系统的功能。 来个简单的demo 我u有以下三个service public class ServiceA { public void doA(){ System.out.println(do ServiceA); } } public class ServiceB { public void doB(){ System.out.println(do ServiceB); } } public class ServiceC { public void doC(){ System.out.println(do ServiceC); } } 在没有引入门面模式的时候我们是这么调用的 public class Client { public static void main(String[] args) { ServiceA serviceA new ServiceA(); ServiceB serviceB new ServiceB(); ServiceC serviceC new ServiceC(); serviceA.doA(); serviceB.doB(); serviceC.doC(); } } 没啥毛病啊结合到spingmvc开发这些service交给spring管理根本不用自己new了直接注入到controller就可以但是如果10个地方都用了这三个service呢这10个controller里都注入一下这时候考虑优化——我可以新建一个service持有这个三个service不就ok了吗 public class ServiceFacade { //是不是很像我们controller里注入各种service? private ServiceA serviceA new ServiceA(); private ServiceB serviceB new ServiceB(); private ServiceC serviceC new ServiceC(); public void doA() { serviceA.doA(); } public void doB() { serviceB.doB(); } public void doC() { serviceC.doC(); } } 客户端就变成了 public class Client { public static void main(String[] args) { //轻轻松松的搞定只需要创建门面这个对象即可 ServiceFacade serviceFacade new ServiceFacade (); serviceFacade.doA(); serviceFacade.doB(); serviceFacade.doC(); } } 门面模式中的角色 由上图可以看到门面模式主要包含2个角色。 外观角色(Facade)也叫作门面角色是系统对外的统一接口。子系统角色(Service)可以同时有一个或多个Service。每个Service都不是一个单独的类而是一个类的集合。Service们并不知道Facade的存在对于Service们而言Facade 只是另一个客户端而已(即Facade对ServiceA、ServiceB、ServiceC透明)。 门面模式的扩展 优点 ● 减少系统的相互依赖   想想看如果我们不使用门面模式外界访问直接深入到子系统内部相互之间是一种强耦合关系你死我就死你活我才能活这样的强依赖是系统设计所不能接受的门面模式的出现就很好地解决了该问题所有的依赖都是对门面对象的依赖与子系统无关。 ● 提高了灵活性   依赖减少了灵活性自然提高了。不管子系统内部如何变化只要不影响到门面对象任你自由活动。 ● 提高安全性   想让你访问子系统的哪些业务就开通哪些逻辑不在门面上开通的方法你休想访问到 。 缺点 当增加子系统和扩展子系统行为时可能容易带来未知风险。 不符合开闭原则。 某些情况下可能违背单一职责原则。
http://www.dnsts.com.cn/news/90935.html

相关文章:

  • 襄樊公司网站建设企业网站查询系统官网
  • 做海岛旅游类网站的背景及意义视觉灵动 wordpress
  • 模板建站3000是不是贵了利用access数据库做网站
  • 辽宁建设工程信息网站合肥网站建设的公司哪家好
  • 用阿里云服务器做刷单网站管理登陆网站开发软件
  • 网站 不备案怎么清空wordpress媒体库
  • 有些人做网站不用钱的,对吗?北京 好的网站制作
  • 江岸网站建设app下载汅api免费安卓
  • 一起做网店广州站平面网页设计是做什么的
  • 中国民航机场建设集团公司网站自助建站网站源码
  • 什么叫网站规划网站建设运营服务商
  • 赤水市住房和城乡建设局网站做文交所的都有哪些网站
  • 室内装饰网站模板济南手机网站开发公司
  • 怎么做游戏充值代理网站做网站费用需要分摊吗
  • 有FTP免费网站辽宁省建设工程信息网招标
  • 朝阳网站建设推广北京网页制作案例
  • 宝应网站设计嘉兴网站建设模板网站
  • 网页素材网站有哪些dede淘宝客网站模板
  • 网站免费下载安装玉山电商网站建设
  • 典型的网站开发人员急招土建施工员技术员
  • 做书的网站有哪些内容广东佛山网站建设
  • 2016网站设计风格做艺术教育的网站
  • lnmp网站开发产权交易中心网站建设的原因
  • 承德网站建设作用郑州 中原区
  • 注册域名之后怎么做网站汽车网站建设方案预算
  • 做网站商城赔了8万win7如何建设免费网站
  • 手机免费网站建设网站如何防止重登录
  • 淘宝基地网站怎么做wordpress d8 4.0
  • 阿里云建wordpress站免费外贸电商平台
  • 电商网站建设策划方案自己建网站难吗