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

自己的网站可以做淘客吗网站设计联盟

自己的网站可以做淘客吗,网站设计联盟,wordpress 产品视频上传,网络策划案通过例子持续学习JS设计模式中#xff0c;接下来请跟随我的步伐走进我的学习笔记世界~ 什么是设计模式#xff1f;我们为什么需要学习设计模式#xff1f; 设计模式是可以更好解决问题的一种方案。 这意味着什么#xff1f;如果你开发的项目的功能是固定的#xff0c;永…通过例子持续学习JS设计模式中接下来请跟随我的步伐走进我的学习笔记世界~ 什么是设计模式我们为什么需要学习设计模式 设计模式是可以更好解决问题的一种方案。 这意味着什么如果你开发的项目的功能是固定的永远不会调整业务那么你就不需要使用设计模式等任何技巧。您只需要使用通常的方式编写代码并完成需求即可。 但是我们的开发项目的需求是不断变化的这就需要我们经常修改我们的代码。也就是说我们现在写代码的时候需要为未来业务需求可能发生的变化做好准备。 这时你会发现使用设计模式可以让你的代码更具可扩展性。 1 命令模式 我的理解 定义一个类里面写方法用的时候引入这个类调用类.方法()使用。 定义 有时候需要向某些对象发送请求但是并不知道请求的接收者是谁。此时希望用一种松耦合的方式来设计程序使得请求发送者和请求接收者能够消除彼此之间的耦合关系。 适用场景绘制按钮不知道某个按钮未来将用来做什么可能用来刷新菜单界面也可能用来增加一些子菜单只知道点击这个按钮会发生某些事情。那么当完成这个按钮的绘制之后应该如何给它绑定onclick 事件呢? 我们很快可以找到在这里运用命令模式的理由:点击了按钮之后必须向某些负责具体行为的对象发送请求这些对象就是请求的接收者。但是目前并不知道接收者是什么对象也不知道接收者究竟会做什么。此时我们需要借助命令对象的帮助以便解开按钮和负责具体行为对象之间的耦合。 const btn1 function () {}; const btn2 function () {};// 定义一个命令发布者的类 class Executor {setCommand(btn, command) {btn.onclick function() {command.execute()}} }// 定义一个命令接收者 class Menu {refresh() {console.log(刷新菜单)}addSubMenu() {console.log(增加子菜单)} }// 定义一个刷新菜单的命令对象的类 class RefreshMenu {constructor(receiver) {// 命令对象与接收者关联this.receiver receiver}// 暴露出统一的接口给命令发布者Executorexecute() {this.receiver.refresh()} }// 定义一个增加子菜单的命令对象的类 class AddSubMenu {constructor(receiver) {// 命令对象与接收者关联this.receiver receiver}// 暴露出统一的接口给命令发布者Executorexecute() {this.receiver.addSubMenu()} }var menu new Menu() var executor new Executor()var refreshMenu new RefreshMenu(menu) // 给按钮1添加刷新功能 executor.setCommand(btn1, refreshMenu)var addSubMenu new AddSubMenu(menu) // 给按钮2添加增加子菜单功能 executor.setCommand(btn2, addSubMenu)// 如果想给按钮3增加删除菜单的功能就继续增加删除菜单的命令对象和接收者的具体删除方法而不必修改命令对象 btn1.onclick(); btn2.onclick();2 单例模式 定义 保证一个类仅有一个实例并提供一个访问它的全局访问点。实现的方法为先判断实例存在与否如果存在则直接返回如果不存在就创建了再返回这就确保了一个类只有一个实例对象。适用场景 一个单一对象。比如弹窗无论点击多少次弹窗只应该被创建一次。 class CreateUser {constructor(name) {this.name name;this.getName();}getName() {return this.name;} } // 代理实现单例模式 var ProxyMode (function() {var instance null;return function(name) {if(!instance) {instance new CreateUser(name);}return instance;} })(); // 测试单体模式的实例 var a new ProxyMode(aaa); var b new ProxyMode(bbb); // 因为单体模式是只实例化一次所以下面的实例是相等的 console.log(a b); //true3 策略模式 定义 定义一系列的算法把他们一个个封装起来并且使他们可以相互替换。 策略模式的目的就是将算法的使用和算法的实现分离开来。适用场景 如果您的函数具有以下特征判断条件很多各个判断条件下的代码相互独立。然后你可以将每个判断条件下的代码封装成一个独立的函数接着建立判断条件和具体策略的映射关系使用策略模式重构你的代码。 /** 假设您目前正在从事一个电子商务商店的项目。 * 每个产品都有一个原价我们可以称之为 originalPrice。 * 但并非所有产品都以原价出售我们可能会推出允许以折扣价 * 出售商品的促销活动。商家可以在后台为产品设置不同的状态。 * 然后实际售价将根据产品状态和原价动态调整。 * 具体规则xxxxxxxxx * 如果你需要写一个getPrice函数你应该怎么写呢*/let priceStrategies {pre-sale: preSalePrice,promotion: promotionPrice,black-friday: blackFridayPrice,default: defaultPrice }function getPrice(originalPrice, status) {return priceStrategies[status](originalPrice) }function blackFridayPrice(origialPrice) {if (origialPrice 100 originalPrice 200) {return origialPrice - 20} else if (originalPrice 200) {return originalPrice - 50} else {return originalPrice * 0.8} }function defaultPrice(origialPrice) {return origialPrice }function getPrice(originalPrice, status) {if (status pre-sale) {return preSalePrice(originalPrice)}if (status promotion) {return promotionPrice(originalPrice)}if (status black-friday) {return blackFridayPrice(originalPrice)}if(status default){return defaultPrice(originalPrice)} }
http://www.pierceye.com/news/143667/

相关文章:

  • 企石镇网站仿做连云港网站开发
  • php 网站做分享功能重庆建设工程信息网30系统
  • 西部数码创建php网站北京上云网站建设公司
  • 中标建设集团有限公司 网站游戏开发软件有哪些
  • 上饶哪里做网站办公家具网站建设公司
  • 建设银行园湖路支行网站外贸网站建设需要注意什么
  • 失物招领网站开发项目需求分析app开发定制公司哪家好做
  • 网站不用备案阿里云 wordpress搭建网站
  • 重庆网站推广软件小朋友做安全教育的网站
  • 商家自己做的商品信息查询网站互联网有哪些行业
  • 用dw做网站时怎么添加弹窗知名网站服务器
  • 网站备案做优惠券第一营销网
  • 网站策划的基本过程全国大型网站建设
  • 个人外贸网站杭州微网站建设公司
  • wordpress皮肤下载站安徽建设工程信息网官方网站
  • 自己的电脑做服务器 并建网站asp sql网站安全性
  • 创新创业营销策略网站建设等信息系统开发计划
  • 安徽建设信息网站做胃镜多少钱天津津门网站I
  • jrs直播网站谁做的广告设计与制作专升本
  • 辽 icp 大连 网站建设个人网站做的类型
  • 做网站搞友情链接网站建设有哪些类型
  • 网站建设更新维护工作总结网站建设源文件
  • 公益网站 html 模板wordpress权限acl
  • 廊坊市网站建设企业网站设计特点
  • 网站建设论证方案传媒的域名做个什么网站
  • 成都建设网站企业电话国内信息图制作网站有哪些
  • 网站 图片切换wordpress永久免费
  • 自建社区网站网站建设全包设计
  • 广东装饰网站建设建设银行官网网站人事
  • 做网站设计赚钱吗保定模板建站平台