Javascript设计模式的外观模式介绍
外观模式描述描述:外观模式是由复杂的子系统和子系统提供的高级接口。客户机更容易访问底层程序或系统接口。
外观模式是我们经常遇到的模式。我们经常涉及到的功能可能涉及多个子接口或子系统,和我们的一个功能,可能只需要一个或一个以上的多个子接口时序的包。如果业务功能直接对应的子接口或子系统,它可以要求开发商有一个良好的内在需要;你需要知道的企业的流程是如何走,什么订单等等。这需要开发人员了解企业,使客户程序相当复杂;
如果有一个层,在这里,或一类,专门提供好的包装方法,我们使用,客户端功能仅需要与中间阶级的相互作用,对人员组织包的中产阶级,必须了解相应的业务方法的发展相关,那么程序将变得非常简单,程序员只需要知道他所对应的功能的方法,不需要知道内部的逻辑。
这个中产阶级是我们所说的外貌阶级,这就是外观模式的概念。
现场实例:
例如,1 >。开关例子,这个开关,一盏灯可以控制到房子的门,几盏灯的大厅,并控制电源的电视,冰箱,你把小按钮上,这将有一个直接的电,甚至热传输,你不知道这一点。总开关按钮是要打电话,或是如何根据有关电器,直接对美国施压。
这些灯、电视机等是我们想要使用的接口,小型系统。总开关是我们的外观类别。我们可以直接面对它。
2 >。比一个公司,有几个职能部门,有一天老板必须执行所有的工作,他在一个部门,问员工说一定要做的事情,如果你问对人直接听命于老板,如果不是这个人负责,他将与老板说,哦,这是谁负责的老板,就跑去问人,很多麻烦。
如果每个职能部门都有一个负责人,老板可以直接去了解情况。老板不必在意责任人怎么知道这件事。他只是想知道1,2,3的现状和进展。
示例源代码
现在,源代码在第二个场景中实现。
1。功能类别:
1部门(工商部门):
复制代码代码如下所示:
功能businessdept(){
this.manager = '陈'; / /负责人
}
businessdept.prototype = { {
monthsales:函数(){
console.log(this.manager +说:这个月的销售是xxx);
},
NextPlan:函数(){
console.log(this.manager +说:下一步的计划是这样的,XXXX);
}
}
2部(研发部):
复制代码代码如下所示:
功能rddept(){
this.manager = '经理黄;
}
rddept.prototype = { {
进度:函数(){
console.log(this.manager +表示:目前项目的状况和进展是xxx);
},
DeptPlan:函数(){
console.log(this.manager +说:下一部的计划是一个XXX);
}
}
以上是每个部门的负责人应该回答老板的问题。
然后设置外观类来组织老板想问的问题。
复制代码代码如下所示:
函数外观(){
this.business =新businessdept();
this.rddept =新rddept();
}
facade.prototype = { {
deptsituation:函数(){
(这个业务。monthsales); / /销售经理说;
this.rddept.progress();
},
DeptPlan:函数(){
(这个业务。nextplan); / /下一步的计划报告;
This.rddept.deptPlan();
}
}
然后老板把两个经理叫到他们面前,开始问:
复制代码代码如下所示:
新立面();
console.log(老板问:现在介绍自己的部门);
facade.deptsituation();
console.log(老板问:下一步的计划是什么
facade.deptplan();
其他说明
外观模型的使用,可以使接口或类之间的解耦,班上没有依靠,没有必要在使用含有B或B必须包含,它违背了使用中间层封闭改造的原则,包装的外观,可以使界面变得简单,使用子或子接口对象的系统调用更多的自由,可以组织。
外观模式经常发生。在我们的程序设计中,外观模式常常被用于架构系统的模式定义。我们的系统应该使用第三方接口服务,并且经常添加层外观层来组织可用的业务接口。