外观模式
就是为子系统中的一组接口提供一个公共出口,定义个一高层接口
外观模式的设计就是可以通过请求外观接口来达到请求访问子系统的目的,也可以选择跳过外观接口而访问子系统
我们来看一个最直观的外观模式的设计
1 <script> 2 function start() { 3 console.log("开始") 4 }; 5 6 function doing() { 7 console.log("工作中") 8 } 9 10 function end() { 11 console.log("工作结束") 12 } 13 // 外观模式的封装 14 function execute() { 15 start() 16 doing() 17 end() 18 } 19 execute() 20 </script>
比如我们有一个div,很多地方都会控制这个div 的显示和隐藏,但是每次进行手写代码冗余特别严重,所以我们可以使用外观模式进行封装
1 <script> 2 var box = document.getElementById("box"); 3 function setState() { 4 // 外观模式的封装,将显示和隐藏的方法封装了起来 5 return { 6 show: function() { 7 box.style.display = 'block' 8 }, 9 hide: function() { 10 box.style.display = 'none'; 11 } 12 } 13 } 14 var changeState = setState(); 15 changeState.show();//显示 16 // changeState.hide();//隐藏 17 </script>
此时就可以控制div的显示和隐藏