设计模式

为了解决某类问题,找一种最佳的解决方案 - 设计
面向对象找到最好的定义对象并给对象添加属性和方法的方案

设计模式:

 //工厂模式
 function fn(name,age){
     var obj = {}
     obj.name = name;
     obj.age = age
     return obj;
 }

 var ls = fn('李四',20)
 var zs = fn('张三',18)

 

单例模式:一个类,终生只有一个对象

class Person{}
if(p){
     var p1 = p; // 复杂类型会将地址复制一份放在另一个变量的空间中
 }else{
    // p是undefined
    p = new Person()
    var p1 = p
 }

单列模式封装在函数中

function fn(){
    class Person{}
    var p;
    return function(){
        if(!p){
            p = new Person;
        }
        return p;
    }
}

var ff = fn() // 大函数中的小函数
var p1 = ff()
console.log(p1);
var p2 = ff()
console.log(p2);
console.log(p1 === p2); // true

 

posted @ 2021-02-02 19:07  技术活当赏  阅读(59)  评论(0)    收藏  举报