工廠模式

介紹
  • 將new操作單獨封裝
  • 遇到new時,就要考慮是否該使用工廠模式
示例
  • 你去購買漢堡,直接點餐、取餐,不會自己親手做
  • 商店要“封裝”做漢堡的工作,做好直接給買者
簡化后的UML類圖
工廠模式-UML類圖.jpg
工廠模式常見使用場景
  • jQuery的函數(shù)$(),內(nèi)部創(chuàng)建了新對象
  • React.createElement
  • vue異步組件
舉例

jQuery

  • ('div')和new('div')有何區(qū)別?
  • 第一:書寫麻煩,jQuery的鏈?zhǔn)讲僮鲗⒊蔀樨瑝?/li>
  • 第二:一旦類名jQuery發(fā)生變化,將是災(zāi)難性的
代碼
class Product {
    constructor(name) {
        this.name = name;
    }

    init() {
        alert('init');
    }

    fun1() {
        alert('fun1');
    }

    fun2() {
        alert('fun2');
    }
}

class Creator {
    create(name) {
        return new Product(name);
    }
}

// 測試
let creator = new Creator();
let p = creator.create('p1');
p.init();
p.fun1();
個人總結(jié)

工廠模式主要用在需要頻繁創(chuàng)建新對象的時候,以及多處需要創(chuàng)建新對象的時候。使用工廠模式可以避免類名改動造成需要大量修改代碼的情況。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 工廠模式是我們最常用的實例化對象模式了,是用工廠方法代替new操作的一種模式。通常我們所說的工廠模式是指工廠方法模...
    zfylin閱讀 1,403評論 0 7
  • 1.接口基礎(chǔ)回顧 設(shè)計模式六大原則,其中依賴倒轉(zhuǎn)原則,強調(diào)我們應(yīng)該面向接口編程,那什么是接口?接口的作用? 接口如...
    孟婆湯不解渴閱讀 901評論 0 3
  • 今天學(xué)習(xí)下最常見的工廠模式,工廠模式細(xì)分下來有三大類: 他們的目標(biāo)都是一樣的:封裝對象的創(chuàng)建。但是實現(xiàn)手段和使用場...
    西木柚子閱讀 2,221評論 7 28
  • 工廠模式是最常用的一類創(chuàng)建型設(shè)計模式,通常我們所說的工廠模式是指工廠方法模式,它也是使用頻率最高的工廠模式。本章將...
    justCode_閱讀 945評論 0 3
  • 握緊我的世界,不忍直視!這是第一遍,我還會再畫第二遍第三遍,直到畫到滿意為止!相信自己,會畫好的!
    jiesen杰森閱讀 242評論 1 0

友情鏈接更多精彩內(nèi)容