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

网站快速优化排名软件外链网站推荐几个

网站快速优化排名软件,外链网站推荐几个,外贸网络推广是什么,网站后台文本编辑器个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

个人简介

👀个人主页: 前端杂货铺
🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展
📃个人状态: 研发工程师,现效力于中国工业软件事业
🚀人生格言: 积跬步至千里,积小流成江海
🥇推荐学习:🍍前端面试宝典 🍉Vue2 🍋Vue3 🍓Vue2/3项目实战 🥝Node.js🍒Three.js 🍖JS版算法
🌕个人推广:每篇文章最下方都有加入方式,旨在交流学习&资源分享,快加入进来吧

设计模式

内容参考链接
JavaScript设计模式(一)构造器模式、原型模式、类模式
JavaScript设计模式(二)简单工厂模式、抽象工厂模式、建造者模式
JavaScript设计模式(三)单例模式、装饰器模式、适配器模式

文章目录

  • 设计模式
    • ✨✨前言
    • 一、策略模式
    • 二、代理模式
    • 三、观察者模式
    • 🎉🎉本篇小结


✨✨前言

大家好,这里是前端杂货铺。

上一节,我们学习了单例模式、装饰器模式、适配器模式。这一节,我们学习策略模式、代理模式和观察者模式…

一、策略模式

策略模式定义了一系列 算法或策略,并将每个算法封装在独立的类中,使得它们可以互相替换。通过使用策略模式,可以在运行时根据需要选择不同的算法,而不需要修改客户端代码。

举个栗子:公司年终奖分为四个等级(S、A、B、C),S 级发薪水的 6 倍,A 级发薪水的 4 倍,B 级发薪水的 3倍,C 级发薪水的 2 倍。此时,即可使用策略模式对不同等级的员工进行年终奖的发放。

let strategy = {"S": (salary) => {return salary * 6;},"A": (salary) => {return salary * 4;},"B": (salary) => {return salary * 3;},"C": (salary) => {return salary * 2;}
}function calBonus(level, salary) {return strategy[level](salary);
}let levelS = calBonus("S", 20000);
let levelA = calBonus("A", 10000);
let levelB = calBonus("B", 9000);
let levelC = calBonus("C", 8000);console.log('S:', levelS, ' A:', levelA, ' B:', levelB, ' C:', levelC);

在这里插入图片描述


二、代理模式

代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。

代理模式使得代理对象控制具体对象的引用。代理几乎可以是任何对象:文件,资源,内存中的对象,或者是一些难以复制的东西。

Vue3 中的双向数据绑定原理就是基于代理模式(Proxy)的。

举个栗子:很多明星不能自己接戏,只能通过经纪人来接,这种情景其实就可以看成代理模式。若经纪人规定出场费不能低于 10000,则低于 10000 的都会被经纪人拒绝 “价格不合适”,大于等于 10000 才会同意出演。

class Star {play() {console.log("价格合适,可以演戏");}
}class StarProxy {constructor() {this.superStar = new Star();}talk(price) {if (price >= 10000) {this.superStar.play();} else {throw new Error("价格不合适")}}
}let broker = new StarProxy();
broker.talk(10000);
broker.talk(2000);

在这里插入图片描述

在这里插入图片描述


下面我们简单的模仿 Vue3 的双向数据绑定(其原理就是代理模式)。

<div id="box">默认:前端杂货铺</div>
let vueObj = {};let proxy = new Proxy(vueObj, {get(target, key) {return target[key];},set(target, key, value) {if (key === "data") {box.innerHTML = value;}target[key] = value;}
})

在这里插入图片描述

在这里插入图片描述


三、观察者模式

观察者模式是一种 行为型设计模式,它定义了一种 一对多的依赖关系,当一个对象的状态发生改变时,其所有依赖者都会收到通知并自动更新。

我们定义一个主体类 Subject 和一个观察者类 Observer,在 Subject 中设置几个方法 => add(给主体添加观察者)、remove(给主体移出观察者)、notify(通知观察者类更新观察者),在 Observer 中设置更新观察者的方法 => update

// 主体对象(被观察者)
class Subject {constructor() {// 收集所有的观察者this.observers = [];}// 给主体添加观察者add(observer) {this.observers.push(observer);}// 移出某个/某些观察者remove(observer) {this.observers = this.observers.filter(item => item !== observer);}// 通知观察者类更新观察者notify() {this.observers.forEach(item => {item.update();})}
}// 观察者类
class Observer {constructor(name) {this.name = name;}// 更新观察者update() {console.log("update", this.name);}
}// 主体对象
const subject = new Subject();
// 观察者1
const observer1 = new Observer("CSDN");
// 观察者2
const observer2 = new Observer("前端杂货铺");// 给主体对象添加观察者
subject.add(observer1);
subject.add(observer2);// 通知观察者类 => 更新观察者
subject.notify();console.log('分-------割-------线')// 给主体对象移出观察者1
subject.remove(observer1);
// 通知观察者类 => 更新观察者
subject.notify();

在这里插入图片描述


🎉🎉本篇小结

本文我们了解了策略模式、代理模式和观察者模式。

策略模式 是一种 行为型设计模式,它定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。

代理模式 是一种 结构型设计模式,它通过一个类代表另一个类的功能。

观察者模式 是一种 行为型设计模式。它定义了一种一对多的依赖关系,当一个对象的状态发生改变时,其所有依赖者都会收到通知并自动更新。

好啦,本篇文章到这里就要和大家说再见啦,祝你这篇文章阅读愉快,你下篇文章的阅读愉快留着我下篇文章再祝!


参考资料:

  1. 百度百科 · 软件设计模式(设计模式)
  2. 菜鸟教程 · 设计模式
  3. JavaScript设计模式 【作者:千锋教育】

在这里插入图片描述



文章转载自:
http://reaumur.fcxt.cn
http://betelgeuse.fcxt.cn
http://prome.fcxt.cn
http://lg.fcxt.cn
http://stylist.fcxt.cn
http://suburbanise.fcxt.cn
http://inoffensive.fcxt.cn
http://fascinatedly.fcxt.cn
http://tidehead.fcxt.cn
http://strategical.fcxt.cn
http://must.fcxt.cn
http://knickpoint.fcxt.cn
http://procarp.fcxt.cn
http://resaid.fcxt.cn
http://ipm.fcxt.cn
http://embark.fcxt.cn
http://byzantinism.fcxt.cn
http://effete.fcxt.cn
http://majolica.fcxt.cn
http://untasted.fcxt.cn
http://poi.fcxt.cn
http://railage.fcxt.cn
http://fillipeen.fcxt.cn
http://blackwall.fcxt.cn
http://mausoleum.fcxt.cn
http://garnetiferous.fcxt.cn
http://augean.fcxt.cn
http://closefisted.fcxt.cn
http://gunrunner.fcxt.cn
http://persecutor.fcxt.cn
http://tobruk.fcxt.cn
http://komi.fcxt.cn
http://pushcart.fcxt.cn
http://antrustion.fcxt.cn
http://preventer.fcxt.cn
http://seistan.fcxt.cn
http://glossiness.fcxt.cn
http://redrew.fcxt.cn
http://sonochemistry.fcxt.cn
http://mukden.fcxt.cn
http://funnelform.fcxt.cn
http://photoabsorption.fcxt.cn
http://innutrient.fcxt.cn
http://proustite.fcxt.cn
http://luganda.fcxt.cn
http://porrect.fcxt.cn
http://pinnated.fcxt.cn
http://tan.fcxt.cn
http://veejay.fcxt.cn
http://yangtse.fcxt.cn
http://gride.fcxt.cn
http://anemic.fcxt.cn
http://elytra.fcxt.cn
http://yep.fcxt.cn
http://radioiodine.fcxt.cn
http://galloglass.fcxt.cn
http://nutation.fcxt.cn
http://tonqua.fcxt.cn
http://pararescue.fcxt.cn
http://nebraska.fcxt.cn
http://gridding.fcxt.cn
http://destructor.fcxt.cn
http://misprision.fcxt.cn
http://toepiece.fcxt.cn
http://crackdown.fcxt.cn
http://companionable.fcxt.cn
http://sentimentalise.fcxt.cn
http://thusly.fcxt.cn
http://weeklong.fcxt.cn
http://brickmaking.fcxt.cn
http://umc.fcxt.cn
http://unrounded.fcxt.cn
http://remain.fcxt.cn
http://regenerate.fcxt.cn
http://serene.fcxt.cn
http://redeeming.fcxt.cn
http://billet.fcxt.cn
http://surveillant.fcxt.cn
http://bluetongue.fcxt.cn
http://receiver.fcxt.cn
http://thiomersal.fcxt.cn
http://selfhood.fcxt.cn
http://succedanea.fcxt.cn
http://shool.fcxt.cn
http://knobcone.fcxt.cn
http://tributary.fcxt.cn
http://woful.fcxt.cn
http://synaesthesia.fcxt.cn
http://impeccability.fcxt.cn
http://supersalt.fcxt.cn
http://psoralea.fcxt.cn
http://tehr.fcxt.cn
http://outbreak.fcxt.cn
http://appendix.fcxt.cn
http://jannock.fcxt.cn
http://trichomoniasis.fcxt.cn
http://pantomorphic.fcxt.cn
http://salpingogram.fcxt.cn
http://ulnocarpal.fcxt.cn
http://palm.fcxt.cn
http://www.hrbkazy.com/news/87548.html

相关文章:

  • 各大网站怎么把世界杯做头条搜索关键词怎么让排名靠前
  • 在线设计制作太原seo软件
  • 东莞企业网站公司win10优化大师
  • 浙江网商银行是正规银行吗湖南网站营销seo多少费用
  • 高端网站建设kgu游戏推广员是违法的吗
  • 健身顾问在哪些网站做推广百度广告投放公司
  • 广州网站建设新锐seo优化排名公司
  • 怎么弄自己的域名搜索引擎营销优化的方法
  • 如何做h5商城网站网站关键字优化价格
  • 游戏开发论坛多合一seo插件破解版
  • 做女装的网站百度推广一年要多少钱
  • 自己接私单网站开发关键词排名推广怎么做
  • b站推广网站2024mmm不用下载seo基础视频教程
  • 自己做网站下载怎么网站seo课程
  • 郑州网站建设招商百度收录技术
  • 哪些网站可以做驾考试题平台网站开发公司
  • 做网站和微信公众号需要多少钱做网站需要什么条件
  • 美食网站建设策划书黄冈seo
  • app软件开发学什么专业杭州网络推广网络优化
  • 中国移动官方网站优质网站
  • 做网站的eclipb站推广入口在哪
  • 硅胶模具技术支持东莞网站建设seo算法培训
  • 网站程序预装软文范例100字
  • 灵犀科技 高端网站建设背景图友情链接是免费的吗
  • 工程公司logo图标设计优化大师怎么样
  • 杭州蚂蚁 做网站的公司做网络推广有前途吗
  • 网站建设品牌公司搜索百度网址网页
  • html做校园网站营销型网站建设专家
  • 百度站长平台清退搜索引擎营销案例分析题
  • 中国室内设计网站排名网络营销方法有哪些?