【JS設計模式】溫習簡單原廠模式、Factory 方法模式、抽象原廠模式概念

來源:互聯網
上載者:User

標籤:tracking   _id   變數   cto   width   一個   簡單工廠   java   src   

註:空心箭頭表示的是種繼承關係,工廠類和產品類之間是一種依賴關係。是用箭頭加虛線表示的,以下的模型圖是用的實線是不正確(時間不夠用,在這裡我偷懶了。這個習慣不好,呵呵)
簡單原廠模式(Simple Factory Pattern):使用一個類(通常為單體)來建立執行個體;簡單原廠模式也叫靜態Factory 方法模式(Static FactoryMethod Pattern).
介面的定義通常是以I開頭標識符,在JS中未定義介面或抽象類別的文法;
var MacBikeFactory = {  createBike : function() {    return new MacBike();  }}function IMacBike() {}function MacBike() {}MacBike.prototype = {  constructor : MacBike,  getBike: function() {    console.log("建立一台Mac車");  }}var macFn = MacBikeFactory.createBike();macFn.getBike();

Factory 方法模式使用子類來決定一個成員變數應該是哪個詳細的類的執行個體

function IMacBikeFactory() {}function MacBikeFactory()  {  this.createBike() {    return new MacBike();  }}function IMacBike() {}function MacBike() {}MacBike.prototype = {  constructor : MacBike,  getBike: function() {    console.log("建立一台Mac車");  }}var macBikeFactory = new MacBikeFactory();var macBike = IMacBikeFactory.createBike();macBike.getBike(); 

在簡單原廠模式中是通過一個單體來執行個體化一個詳細產品,而在Factory 方法模式中是把這個執行個體化的過程交給了抽象工廠的子類來建立的
抽象原廠模式多個抽象產品類,每一個抽象產品類能夠派生出多個詳細產品類。 
 一個抽象工廠類,能夠派生出多個詳細工廠類。 
每一個詳細工廠類能夠建立多個詳細產品類的執行個體。

 


有二個抽象產品IBike和ICar類,它們分別派生二個詳細產品有一個IMall抽象工廠類,它派生出二個詳細工廠AMall和BMall類每一個詳細工廠類又能夠建立多個詳細產品執行個體 AMall賣場銷售BaoMa品牌的汽車和FengHuang品牌的單車;BMall賣場銷售FaLali品牌的汽車和JieAnTe品牌的單車

【JS設計模式】溫習簡單原廠模式、Factory 方法模式、抽象原廠模式概念

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.