摘要:最近學(xué)習(xí)了一下的工廠模式,簡(jiǎn)單的記錄一下學(xué)習(xí)過(guò)程和感想,新手司機(jī),如有不對(duì)的地方,歡迎大家提出建議,一起討論,好好學(xué)習(xí)。感想使用工廠模式,避免因系統(tǒng)升級(jí)等原因修改其中最大的對(duì)象,降低了模塊之間的耦合度,一個(gè)模塊并不會(huì)依賴(lài)于其某一組成部分。
最近學(xué)習(xí)了一下javascript的工廠模式,簡(jiǎn)單的記錄一下學(xué)習(xí)過(guò)程和感想,新手司機(jī),如有不對(duì)的地方,歡迎大家提出建議,一起討論,好好學(xué)習(xí)。
通過(guò)一個(gè)車(chē)店售車(chē)的例子來(lái)說(shuō)明: 1. 要有售車(chē)要有一個(gè)車(chē)店定義一個(gè)自行車(chē)店函數(shù)BicycleShop,即對(duì)象:
2. 在自行車(chē)店里要買(mǎi)什么?設(shè)置三個(gè)車(chē)型對(duì)象:The Speedster,The Lowrider,The Comfort Cruiser
3. 不使用工廠模式時(shí)通過(guò)js繼承原型鏈 prototype屬性實(shí)現(xiàn)多種的方法,這里只寫(xiě)了一個(gè)賣(mài)車(chē)的方法
通過(guò)switch—case來(lái)判斷創(chuàng)建車(chē)型對(duì)象,即生成一輛某型號(hào)的車(chē)
但是這種方法有一個(gè)弊端,就是當(dāng)你要升級(jí)時(shí),比如添加一個(gè)型號(hào)的車(chē),你的店鋪要關(guān)門(mén),然后修改這個(gè)最大的對(duì)象自行車(chē)店,不利于維護(hù)。
定義一個(gè)BicycleFactory的json對(duì)象,將眾多分支對(duì)象的實(shí)例化交給一個(gè)獨(dú)立的工廠類(lèi)來(lái)實(shí)現(xiàn),這就是一個(gè)解耦的過(guò)程**
將原來(lái)車(chē)店內(nèi)實(shí)例化車(chē)的工作交給BicycleFactory類(lèi)來(lái)做,這樣在你系統(tǒng)升級(jí)的時(shí)候,就只要在BicycleFactory中添加一個(gè)case,不用關(guān)店修改自行車(chē)店類(lèi)。
感想:使用工廠模式,避免因系統(tǒng)升級(jí)等原因修改其中最大的對(duì)象,降低了模塊之間的耦合度,一**個(gè)模塊并不會(huì)依賴(lài)于其某一組成部分。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/89758.html
摘要:設(shè)計(jì)模式共有種,我今天先來(lái)了解一下工廠模式,其他的模式將會(huì)在后續(xù)的博客中陸續(xù)為大家講解。工廠模式主要分為簡(jiǎn)單工廠模式和抽象工廠模式。抽象工廠模式抽象工廠模式與簡(jiǎn)單工廠函數(shù)不同的是,抽象工廠函數(shù)會(huì)先設(shè)計(jì)好接口,具體的實(shí)現(xiàn)在子類(lèi)中進(jìn)行。 設(shè)計(jì)模式 設(shè)計(jì)模式(design pattern)概念:是一套反復(fù)使用、思想成熟、經(jīng)過(guò)分類(lèi)和無(wú)數(shù)實(shí)戰(zhàn)設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。是為了代碼可重用、可擴(kuò)展、可解耦、更容...
摘要:前言接下來(lái)將會(huì)為大家介紹設(shè)計(jì)模式中的創(chuàng)建型設(shè)計(jì)模式,在此之前需要掌握一定的對(duì)象繼承基礎(chǔ)。但是如果是工廠方法模式的話,則只需要往工廠方法中添加基類(lèi)則可以。 前言 接下來(lái)將會(huì)為大家介紹設(shè)計(jì)模式中的創(chuàng)建型設(shè)計(jì)模式,在此之前需要掌握一定的JavaScript對(duì)象繼承基礎(chǔ)。 簡(jiǎn)單工廠模式 先說(shuō)說(shuō) 什么是簡(jiǎn)單工廠模式:又叫靜態(tài)工廠方法,由一個(gè)工廠對(duì)象決定創(chuàng)建某一種產(chǎn)品對(duì)象類(lèi)的實(shí)例 看著定義有點(diǎn)懵,...
摘要:為了解決這個(gè)問(wèn)題,我們可以使用工廠模式。框架中的工廠模式中的其實(shí)就是一個(gè)工廠函數(shù),它根據(jù)傳入?yún)?shù)的不同創(chuàng)建元素或者去尋找上下文中的元素,創(chuàng)建成相應(yīng)的對(duì)象。工廠模式有利于消除對(duì)象間的耦合,提供更大的靈活性。 本文首發(fā)于知乎專(zhuān)欄:前端指南 定義 工廠模式定義創(chuàng)建對(duì)象的接口,但是讓子類(lèi)決定實(shí)例化哪個(gè)類(lèi)。工廠方法將類(lèi)的實(shí)例化延遲到子類(lèi)。 概述 我們可以使用Object構(gòu)造函數(shù)來(lái)創(chuàng)建單個(gè)對(duì)象,但...
摘要:本回內(nèi)容介紹上一回聊到單例模式,做了一道題,內(nèi)容不多,比較容易理解。這里其實(shí)還可以進(jìn)一步優(yōu)化,達(dá)到高聚類(lèi)低耦合,這里工廠模式就告一段落了。 本回內(nèi)容介紹 上一回聊到JS單例模式(singleton),做了一道題,內(nèi)容不多,比較容易理解。介一回嘞,聊聊工廠模式,之前聊到過(guò)工廠模式,這回聊深入點(diǎn)兒,可能會(huì)比較抽象,不過(guò)好在實(shí)際開(kāi)發(fā)中使用還算廣泛,理解起來(lái)會(huì)比較容易,開(kāi)始咯: 1. 簡(jiǎn)單工廠...
摘要:設(shè)計(jì)模式工廠模式最近閱讀了幾本設(shè)計(jì)模式方面的書(shū)籍學(xué)習(xí)之余整理下來(lái)方便以后的歸納和梳理設(shè)計(jì)模式工廠模式創(chuàng)造工廠模式是一種創(chuàng)建性模式也就是一種創(chuàng)建對(duì)象的最佳實(shí)踐首先我們需要理解為什么我們需要工廠模式想象一個(gè)場(chǎng)景如果你要求去買(mǎi)一些東西板燒雞腿 Javascript設(shè)計(jì)模式-工廠模式 最近閱讀了幾本設(shè)計(jì)模式方面的書(shū)籍,學(xué)習(xí)之余整理下來(lái),方便以后的歸納和梳理 設(shè)計(jì)模式-工廠模式 創(chuàng)造工廠模式是一...
閱讀 1122·2021-11-22 13:53
閱讀 1694·2021-11-17 09:33
閱讀 2457·2021-10-14 09:43
閱讀 2991·2021-09-01 11:41
閱讀 2357·2021-09-01 10:44
閱讀 3061·2021-08-31 09:39
閱讀 1578·2019-08-30 15:44
閱讀 1922·2019-08-30 13:02