23種設計模式01 工廠模式之抽象工廠模式

2021-07-29 21:10:53 字數 3578 閱讀 1639

在上篇文章23種設計模式01—工廠模式

中介紹了簡單工廠模式工廠方法模式

但是簡單工廠模式在新增新的產品師,需要修改工廠類,違背了開閉原則(ocp原則);

工廠方法模式,提供乙個抽象工廠角色,一旦要建立新的同一產品的不同型號, 只需要建立乙個具體工廠角色,用於建立對應的產品,而不用修改原有的**,解決了簡單工廠的缺點。

但是,如果要產生不同系列的產品,工廠方法模式就無能為力了。

首先我們來描述乙個人, 開著, 嘴裡叼著蘋果, 手裡拿著ak47,很瀟灑。。。

這個人有三個物件描述他的狀態,車(交通工具),蘋果(食物),ak47(**)

package com.chb.factorydesingpattern_abstractfactory;

public

class car

}package com.chb.factorydesingpattern_abstractfactory;

public

public

void

eat()

}package com.chb.factorydesingpattern_abstractfactory;

public

class ak47

}

package com.chb.factorydesingpattern_abstractfactory;

public

class test

}結果:

老子開著車,嘴裡叼著蘋果,手裡拿著ak47, da da da...

package com.chb.factorydesingpattern_abstractfactory;

public

class defaultfactory

return

}public ak47 createak47()

}

package com.chb.factorydesingpattern_abstractfactory;

public

class test

}

哈利波特騎著掃把, 使用魔法棒, 吃毒蘑菇

交通工具可以跑, 食物可以吃, **有攻擊力。

}老子開著車,嘴裡叼著蘋果,手裡拿著ak47, da da da...

老白呀, 老子怎麼覺得缺點什麼, 衣食無憂, 有車遊山玩水, 有槍闖天下,還缺什麼呢?

老白: 爺, 酒足飯飽思淫慾, 你還缺乙個妞,嘿嘿!

對, 老白知我心呀, 老白給爺弄個妞,

老白: 好的,通知下去,給大爺弄個妞來

凡人(魔法)廠長: 白爺,我們沒有這個生產線, 而且你的規範裡也沒有這個要求, 如果你修改規範, 我們生產線要大改, 而且成本提高。

老白: 這一動,傷筋動骨,到底變不變。。。不改,生產不了

於是老白卒(抽象工廠模式遇到難題

23種設計模式之 工廠模式

android中,工廠模式分為三種 簡單工廠模式 工廠方法模式 抽象工廠模式。一.簡單工廠模式。定義 簡單工廠模式又叫靜態方法模式 因為工廠類定義了乙個靜態方法 簡單工廠模式可以理解為負責生產物件的乙個類,稱為 工廠類 我們主要講的就是簡單工廠模式,其他兩種也是簡單工廠模式的衍生 我們在專案中經常使...

23種設計模式之工廠模式

基本介紹 簡單工廠模式定義了乙個工廠類,他可以根據引數的不同返回不同類的例項,被建立的例項通常都具有共同的父類,簡單工廠模式中用於被建立例項的方法通常為靜態 static 方法,因此簡單工廠模式又被成為靜態工廠方法 特點需要什麼,只需要傳入乙個正確的引數,就可以獲取所需要的物件,而無需知道其實現過程...

23種設計模式之 工廠設計模式

前言 記得大二時上過一門設計模式的課,當時聽的那叫乙個懵逼。如今工作半年了,想把東西再撿起來,順便記錄一下。工廠模式是平時接觸的多一點的,就從工廠模式開始吧 什麼是工廠設計模式?工廠設計模式,顧名思義,就是用來生產物件的,是一種建立型設計模式。在物件導向語言中,萬物皆物件,這些物件都需要建立,如果建...