JavaScript 设计模式 门面模式

发布于 2024-10-25 14:10:47 字数 1228 浏览 5 评论 0

门面模式的目的:为了让开发人员用更简单的方法调用一些相对复杂或组合的方法,主要是简化开发的复杂性,提供一个相对容易的 API 去调用内部的方法供外界去使用,并不提供额外的选择,这样程序员开发会变得容易些,编写一次组合代码后可以反复的去使用它,有助于节省时间和精力。几乎是所有 JavaScript 库的核心原则。

门面模式作用:

  1. 简化类的接口
  2. 消除类与使用它的客户代码之间的耦合
/**
 * 门面模式的概念:简化 API 接口。最经典的就是事件
 */

// 做一件事情: 必须要调用 2 个函数分别是 a , b  

function a(x){
  // do something
}

function b(y){
  // do something
}

function ab(x , y){
  a(x);
  b(y);
}


// 现在有一个简单的需求: 获得页面上的元素 给得到的元素设置 css 样式

// 需求发生变化:同时设置几个元素的 css 样式

window.onload= function(){
  // 给一个元素设置一个样式
  //var element = document.getElementById('div1');
  //element.style.color = 'red';

  // 给多个元素设置同样的样式
  //setStyle(['div1','div2','div3'],'color' , 'blue');

  // 给多个元素设置多种样式
  setCss(['div1','div2','div3'],{
    position:'absolute' ,
    background:'green' ,
    fontSize: '18px' ,
    left:'100px'
  });

};


//简单的门面模式
function setStyle(elementsId,prop,val){
  for(var i=0;i<elementsId.length;i++){
    document.getElementById(elementsId[i]).style[prop] = val ;
  }
}

//门面模式的 css 方法
function setCss(elementsId,options){
  for(var prop in options){
    if(!options.hasOwnProperty(prop)) continue;
    setStyle(elementsId,prop,options[prop]);
  }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

百变从容

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

linfzu01

文章 0 评论 0

可遇━不可求

文章 0 评论 0

枕梦

文章 0 评论 0

qq_3LFa8Q

文章 0 评论 0

JP

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文