外观模式
2020/6/9 8:26:23
本文主要是介绍外观模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
外观模式
为复杂子系统提供一个更高层次的统一接口,只能通过该接口访问子系统,这种模式称为外观模式。
应用场景
如果多个功能的计算或逻辑很复杂,并且相对独立,就可以通过外观模式来封装这些功能,简化底层操作方法。
比如利息的计算问题,需要工作人员具有深厚的业务水平,但如果开发出一套系统来,只要输入金额,就可以计算出利息,这种场景就非常适合使用外观模式。
例子:
//外观模式 var A = { three_M: function (money) { return money * 0.023 * (3 / 12); }, six_M: function (money) { return money * 0.025 * (6 / 12); }, one_Y: function (money) { return money * 0.027 * (1 / 12); }, } //测试 console.log(A.three_M(10000)); //输出 57.5
通过这个小型系统,计算利息变得简单。
除此之外,在 JavaScript 中,也会将外观模式用于处理浏览器的兼容性问题。
比如 IE9 以下不支持绑定事件的 addEventListener 方法,需要使用 attachEvent。
例子:
<button>绑定事件</button> <script> //封装工具类 var EventUtil = { addHandler: function(element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else if (element.attachEvent) { element.attachEvent('on' + type, handler); } else { element['on' + type] = handler; } }, }; //调用工具类 var btn = document.getElementsByTagName("button")[0]; EventUtil.addHandler(btn, "click", function() { alert("成功") }); </script>
外观模式有一个致命的缺点就是:一旦发现有问题,唯一能做的就是修改外观模式的代码,这种修改风险非常大,因此需要慎之又慎。
这篇关于外观模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求