• 设计模式


    一、单例模式(singleton)
     
    1.概念:单个实例,只有一个对象,多次创建,返回同一个对象;
         
     1    面向对象的实例对象
     2            function Person(name,age){
     3              if(!Person.instance){
     4                   Person.instance={
     5                       name : "李四",
     6                       age : "12",
     7                       showName : function(){
     8                            return this.name;
     9                       },
    10                       showAge : function(){
    11                            return this.age;
    12                       }
    13                   }
    14              }
    15              return Person.instance;
    16          }
    17          var ps2 = new Person();
    18          var ps3 = new Person();
    19  
    20          alert(ps2==ps3)    //true
    2.创建方式:
          
     1   01字面量创建方式:var ps1 = {
     2                              "name" :"张三";
     3                              "age" :15;
     4                              showName:function(){
     5                                   return this.name;
     6                              }
     7                              showAge:function(){
     8                                   return this.age;
     9                              }
    10                         }
    11   02:function Person(name,age){
    12                  this.name = name;
    13                  this.age = age;
    14              }
    15             Person.prototype.showName =function(){
    16                  return this.name;
    17            }
    18            Person.prototype.showAge =function(){
    19                  return this.age;
    20            }
    21            var ps2 = new Person("张三",46);
    22            var ps3 = new Person("张三",56);
    23            alert(ps2==ps3)   //false 
    面试题
           
    1 alert([]==[]);             //false
    2 alert([] == ![])              //true
    3 alert(typeof []);             //object
    二、代理模式(微商)
     案例:马蓉和宝宝的故事
        
     1    //花店
     2      function Flower(type){
     3          this.type=type;
     4      }
     5      //宝宝
     6      var Baobao={
     7          sendFlower:function(target){        //给目标者送花
     8               var flower = new Flower("狗尾巴花");    //买花
     9               target.receiveFlower(flower);           //目标者收到花
    10          }
    11      }
    12      //代理送花
    13      var Songzhe={
    14          receiveFlower:function(flower){
    15               Marong.receiveFlower(flower);
    16          }
    17      }
    18      var Marong={
    19          receiveFlower:function(flower){     //收花的人
    20               alert("收到一束:"+flower.type+",祝你幸福");
    21          }
    22      }
    23  
    24      Baobao.sendFlower(Songzhe);
    三、适配器模式
     
    两个软件通过接口  可以同时运转(手机和充电器)
     
     
    四、工厂模式
    五、组合模式
    六、策略模式
       解决问题的不同方法
    七、观察者模式
     
      又叫  发布-订阅式 ------> 群发信息
     
     
     
  • 相关阅读:
    Git之将master合并到自己分支
    React 中的不可变数据 — Immer
    数据治理项目
    每日Excel系列
    Python实战网站开发:Day6编写配置文件
    Python实战网站开发:Day5搭建Web框架
    Python实战网站开发:Day7搭建MVC
    Visual Studio Code调试模式,出现无法打开,文件是目录错误的解决办法
    第1章 Vue.js2.0由浅入深:基本用法
    Python实战网站开发:Day4编写Model
  • 原文地址:https://www.cnblogs.com/Makeprogresstogether/p/8011436.html
Copyright © 2020-2023  润新知