摘要:就像下面一樣,每個小工廠有自己的方法,干自己的事情互不干擾,沒事我還可以繼承一下肉食動物吃一下草,也是有可能的,開個玩笑抽象制造一個動物種類創(chuàng)建實例構(gòu)造器指向函數(shù)賦予子類原型無脊椎動物大類抽象方法不能調(diào)用原生生物類水母
1.簡單工廠模式,又稱為靜態(tài)工廠方法,單一種類的復制使用
// 簡單工廠函數(shù) 封裝 動物
function A(name, six) { var o = new Object() o.name = name o.six = six o.sayName = function () { console.log(this.name) } return o } var A1 = new A("大象", "公") var A2 = new A("獅子", "母") A1.sayName() // 大象 A2.sayName() // 獅子
2.工廠方法,我理解為同類產(chǎn)品下,定義一個大工廠,可以插入很多的小工廠來實現(xiàn)方法,小工廠之間可以很好的耦合
// // 工廠方法
var a = [{ name: "鴨子", type: "吃草" },{ name: "雞", type: "吃肉" }] function B(type,chi) { B.prototype.chicken(type)
}
B.prototype = { duck: function () { }, chicken: function (type) { this.type = type console.log(this.type) } } for(var i =0;i3.抽象工廠,可以生產(chǎn)產(chǎn)品族的工廠,例如:大自然 (大工廠類),無脊椎動物,脊椎動物,哺乳動物(可以稱之為小工廠類),而這個小工廠類下面又可以分為很多動物種類(名字...等),它們之間生存的法則不一樣,有吃草的,有吃肉的。。。就像下面一樣,每個小工廠有自己的方法,干自己的事情互不干擾,沒事我還可以繼承一下肉食動物吃一下草,也是有可能的,開個玩笑?。。ǎ?/p>
//抽象 制造一個動物種類
var zoom= function (fun,fun2) { function c() {} c.prototype = new zoom[fun2]() // 創(chuàng)建實例 fun.constructor =fun //構(gòu)造器指向 // c函數(shù)賦予子類原型 fun.prototype = new c() } //無脊椎動物大類 zoom.Invertebrates = function () { this.type = "Invertebrates" } zoom.Invertebrates.prototype = { getzoom: function () { return new Error("抽象方法不能調(diào)用!"); } } // 原生生物類 var native = function (name,num) { this.name = name this.num = num } zoom(native,"Invertebrates"); native.prototype.getzoom = function(){ console.log(this.name); } var native1 = new native("水母", 20000000000) native1.getzoom()
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/101976.html
摘要:首先吧之前的代碼打包成一個新的設(shè)計模式公用代碼工廠模式要點工廠接口是工廠方法模式的核心,與調(diào)用者直接交互用來提供產(chǎn)品。適用場景在任何需要生成復雜對象的地方,都可以使用工廠方法模式。 工廠模式 之前講了接口,封裝,繼承,單例等,現(xiàn)在就需要應(yīng)用這些特性來完成一些設(shè)計模式了。首先吧之前的代碼打包成一個新的JS DesignPattern.js // 設(shè)計模式公用代碼 exports...
摘要:工廠模式定義一個用于創(chuàng)建對象的接口,這個接口由子類決定實例化哪一個類。實現(xiàn)一個簡單的實現(xiàn),使用如果使用對象屬性來實現(xiàn)以下例子中的工廠方法接受在運行時以字符串形式指定的類型,然后創(chuàng)建并返回所請求類型的對象。 1. 簡介 工廠模式的目的是為了創(chuàng)建對象,它通常在類或者類的靜態(tài)方法中實現(xiàn),具有以下目標: 當創(chuàng)建相似對象時執(zhí)行重復操作 當編譯時不知道具體類型的情況下,為工廠客戶提供一個創(chuàng)建對象...
摘要:參考文章深入理解三種工廠模式工廠模式,工廠方法模式,抽象工廠模式詳解工廠模式是中最常用的設(shè)計模式之一。這種類型的設(shè)計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。 參考文章:深入理解java三種工廠模式工廠模式,工廠方法模式,抽象工廠模式 詳解 工廠模式(Factory Pattern)是 Java 中最常用的設(shè)計模式之一。這種類型的設(shè)計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的...
摘要:簡介抽象工廠模式就是通過類的抽象使得業(yè)務(wù)適用于一個產(chǎn)品類簇的創(chuàng)建,而不負責某一類產(chǎn)品的實例。通過抽象工廠,就可以創(chuàng)建某個類簇的產(chǎn)品,并且也可以通過來檢查產(chǎn)品的類別,也具備該類簇所必備的方法。 0. 簡介 抽象工廠模式(Abstract Factory)就是通過類的抽象使得業(yè)務(wù)適用于一個產(chǎn)品類簇的創(chuàng)建,而不負責某一類產(chǎn)品的實例。 JS中是沒有直接的抽象類的,abstract是個保留字,但...
摘要:抽象工廠模式可以向客戶端提供一個接口,使客戶端在不必指定產(chǎn)品的具體的情況下,創(chuàng)建多個產(chǎn)品族中的產(chǎn)品對象。前邊的兩個都是直接生產(chǎn)實例的,開始以為抽象工廠也是但是后來發(fā)現(xiàn)抽象工廠更像是生產(chǎn)工廠,其實抽象工廠其實是實現(xiàn)子類繼承父類的方法。 創(chuàng)建型模式 創(chuàng)建型模式是對一個類的實例化過程進行了抽象,把對象的創(chuàng)建和對象的使用進行了分離 上一篇介紹了下單例模式,這一篇介紹一下工廠模式和抽象工廠模式,...
摘要:抽象工廠模式抽象工廠是工廠模式的升級版,他用來創(chuàng)建一組相關(guān)或者相互依賴的對象。代碼抽象工廠模式抽象工廠的優(yōu)點抽象工廠模式除了具有工廠方法模式的優(yōu)點外,最主要的優(yōu)點就是可以在類的內(nèi)部對產(chǎn)品族進行約束。 抽象工廠模式 抽象工廠是工廠模式的升級版,他用來創(chuàng)建一組相關(guān)或者相互依賴的對象。上節(jié)學習了工廠模式,類的創(chuàng)建依賴工廠類,程序需要擴展時,我們必須創(chuàng)建新的工廠類。工廠類是用來生產(chǎn)產(chǎn)品的,那我...
閱讀 2473·2021-11-23 09:51
閱讀 533·2019-08-30 13:59
閱讀 1834·2019-08-29 11:20
閱讀 2541·2019-08-26 13:41
閱讀 3249·2019-08-26 12:16
閱讀 740·2019-08-26 10:59
閱讀 3335·2019-08-26 10:14
閱讀 607·2019-08-23 17:21