11 享元模式

定义:一种优化程序性能的模式, 本质为减少对象创建的个数。

以下情况可以使用享元模式

  1. 有大量相似的对象,占用了大量内存
  2. 对象中大部分状态可以抽离为外部状态
    // 题目:某商家有 50 种男款内衣和 50 种款女款内衣, 要展示它们!
    
    class Model {
        constructor(gender) {
            this.gender = gender
            // this.underwear = ''
        }
        
        /* 方法一 */
        // takePhoto() {
        //     console.log(`${this.gender}穿着${this.underwear}`)
        // }
        
       /* 方法二 */
        takePhoto(i) {
            console.log(`${this.gender}穿着${i}款衣服`)
        }
    
    
    }
    
    const maleModel = new Model('male')
    const femaleModel = new Model('female')
    
    for (let i = 1; i < 51; i++) {
        // maleModel.underwear = `第${i}款衣服`
        // maleModel.takePhoto()
    
        maleModel.takePhoto(i)
    }
    
    for (let i = 1; i < 51; i++) {
        // femaleModel.underwear = `第${i}款衣服`
        // femaleModel.takePhoto()
    
        maleModel.takePhoto(i)
    }

阅读全文

Last Updated:
Contributors: leeguooooo