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

网站建设怎样布局网站开发制作全包

网站建设怎样布局,网站开发制作全包,益阳网站开发,广州十大猎头公司排名弈之为术#xff0c;在人自悟 一#xff0c;定义 外观模式要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。提供一个高层次的接口#xff0c;使得子系统更易于使用。 外观模式在开发中的使用频率是非常高的#xff0c;尤其是在第三方的SDK里面#xff0…弈之为术在人自悟 一定义 外观模式要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。提供一个高层次的接口使得子系统更易于使用。 外观模式在开发中的使用频率是非常高的尤其是在第三方的SDK里面大部分都会使用外观模式。它通过一个外观类使得整个系统的接口只有一个统一的高层接口这样能降低用户的使用成本也对用户屏蔽了很多实现细节。在我们的开发过程中外观模式也是我们封装API的常用手段例如网络模块图片加载等可能你已经在开发中使用过无数次外观模式只是没有在理论层面认识它。 二使用场景 1为一个复杂子系统提供一个简单接口。子系统往往因为不断演化而变得越来越复杂甚至可能被替换。大多数模式使用时都会产生更多更小的类在这使子系统更具可重用性的同时也更容易对子系统进行定制修改这种易变形使得隐藏子系统的具体实现变得尤为重要。外观模式可以提供一个简单统一接口对外隐藏子系统的具体实现隔离变化。 2当你需要构建一个层次结构的子系统时使用外观模式定义子系统中每层的入口点。如果子系统之间是相互依赖的你可以让他们仅通过外观模式的接口进行通信从而简化了他们之间的依赖关系。 三角色介绍 1Facade:系统对外的统一接口系统内部系统的工作。 2SystemA,SystemB.......  :子系统接口 外观模式接口比较简单就是通过一个统一的接口对外提供服务使得外部程序只通过一个类就可以实现系统内部的多种功能而这些实现功能的内部子系统之间可能也有交互或者说完成一个功能需要几个子系统之间进行协作,如果没有封装那么用户就需要操作几个子系统的交互逻辑容易出现错误。而通过外观类来对外屏蔽这些复杂的交互降低用户的使用成本。 四使用案例 在英雄联盟游戏中每个英雄都有各自的技能连招比如盖伦的连招wqer火男的连招weqr,光辉女郎的连招qwer等等在市面上有一种宏键盘可以定义一个按键一键释放连招。 在这里我们假设q,w,e,r分别为一个子系统他们内部有释放各自技能的方法。 宏键盘为对外的统一的类定义F1键为火男的连招F2键为盖伦的连招F3键为光辉女郎的连招 首先我们创建子系统的接口Q,W,E,R: public interface Q {void useQ(); } public interface W {void useW(); } public interface E {void useE(); } public interface R {void useR(); } 然后创建他们的具体实现类 public class QImp implements Q{Overridepublic void useQ() {System.out.println(使用了Q技能);} } public class WImp implements W{Overridepublic void useW() {System.out.println(使用了W技能);} } public class EImp implements E{Overridepublic void useE() {System.out.println(使用了E技能);} } public class RImp implements R{Overridepublic void useR() {System.out.println(使用了R技能);} } 最后创建我们的对外的统一的类Facade宏键盘它里面持有了Q,W,E,R的具体实现类的对象对外提供了F1,F2,F3三个方法 public class KBFacade {private QImp qImp new QImp();private WImp wImp new WImp();private EImp eImp new EImp();private RImp rImp new RImp();/*** 火男的连招* */public void F1(){System.out.println(使用火男的连招------);wImp.useW();eImp.useE();qImp.useQ();rImp.useR();System.out.println(火男的连招使用结束------);}/*** 盖伦的连招* */public void F2(){System.out.println(使用盖伦的连招------);wImp.useW();qImp.useQ();eImp.useE();rImp.useR();System.out.println(盖伦的连招使用结束------);}/*** 光辉的连招* */public void F3(){System.out.println(使用光辉的连招------);qImp.useQ();wImp.useW();eImp.useE();rImp.useR();System.out.println(光辉的连招使用结束------);}} 最后的使用 KBFacade kbFacade new KBFacade(); kbFacade.F1(); kbFacade.F2(); kbFacade.F3(); 输出 这样使用的用户不需要知道火男的连招具体是什么他只需要使用F1方法就可以使用一系列的连招。 从上述代码中可以看到外观模式就是统一接口封装。将子系统的逻辑交互隐藏起来为用户提供一个高层次的接口使得系统更加易用同时也对外隐藏了具体的实现这样即使具体的子系统发生了变化用户也不会感知到因为用户使用的是Facade高层接口内部的变化对于用户来说并不可见。这样一来就将变化隔离开来使得系统也更为灵活。 五总结 外观模式是一个高频率使用的设计模式它的精髓就在于封装二字。通过一个高层次结构为用户提供统一的API入口使得用户通过一个类型就基本能够操作整个系统这样减少了用户的使用成本也能够提升系统的灵活性。 优点 1对客户程序隐藏子系统细节因而减少了客户对于子系统的耦合能够拥抱变化。 2外观类对子系统的接口封装使得系统更易于使用。 缺点 1外观类接口膨胀。由于子系统的接口都有外观类统一对外暴露使得外观类的API接口较多在一定程度上增加了用户使用成本。 2外观类没有遵循开闭原则当业务出现变更时可能需要直接修改外观类。
http://www.pierceye.com/news/356546/

相关文章:

  • 网站直播用php怎么做的书城网站开发的参考文献
  • 广州免费自助建站平台韩国出线了吗
  • asp.net网站开发实训爆款采集推广引流软件
  • 怎么把自己做的网站挂到外网上中文 网站模板
  • 篮球运动装备网站模板昆明网站seo多少钱
  • 建筑网站起名wordpress评论折叠
  • 东莞seo网站推广建设抖音开放平台注册
  • 怎么做淘宝客采集网站建设局考试通知文件网站
  • 百度云网站建设视频教程超市网站设计
  • 主机屋 建网站教程wordpress收费会员插件
  • 天津网站建设的公司哪家好shopify和wordpress
  • 网站设计风格评价天元建设集团有限公司 伊永成
  • 望都网站建设山东的互联网公司都有什么
  • 开发一个网站需要多少人邢台网站建设服务商
  • 钦州建设局网站seo网站关键词优化机构
  • 北京工程信息网站网站建设及管理使用情况汇报
  • 网页网站原型图占位符怎么做公司宣传策划方案
  • 企业网站颜色选择wordpress自然志下载
  • 介绍几个网站重庆网站建设微信开发
  • wordpress小工具跟随最新外贸seo
  • 网站域名的密码电子商务网站策划书3500字
  • 2008 iis 添加 网站 权限设置权限网站开发工程师题
  • 公司域名查询网站网页设计工具软件有哪些
  • 毕业设计网站建设选题依据设计公司网站应该包括的信息
  • wordpress 仪表板主题seo网站排名厂商定制
  • 网站建设成本报表wordpress缺点
  • 外贸建站选择哪个服务器好免费自动生成二维码
  • 建设部申请自己网站c 做网站设计
  • 软件制作网站网站维护合同模板
  • 那家财经网站做的好陕西网站建设公司哪有