2 設計模式 建立型 之工廠模式

2021-09-30 15:52:29 字數 3372 閱讀 3695

乙個呼叫者想建立乙個物件,只要知道其名稱就可以了

擴充套件性高,如果想增加乙個產品,只要擴充套件乙個工廠類就可以

遮蔽產品的具體實現,呼叫者只關心產品的介面

簡單工廠

package xin.chen.create_type.factory.******factory;

/** * @author: create_by: chenxin

* @data:created in 2018/8/3 9:50

* @version:

* @acton: 行為藉口

*/public inte***ce car

package xin.chen.create_type.factory.******factory;

/** * @author: create_by: chenxin

* @data:created in 2018/8/3 10:06

* @version:

* @acton:

*/public class ca***ctory else if("gq".equals(type))

return null;

}/** 第二種模式 */

public static car createbyd()

public static car creategq()

}

package xin.chen.create_type.factory.******factory;

/** * @author: create_by: chenxin

* @data:created in 2018/8/3 9:50

* @version:

* @acton:

*/public class byd implements car

}

package xin.chen.create_type.factory.******factory;

/** * @author: create_by: chenxin

* @data:created in 2018/8/3 9:51

* @version:

* @acton:

*/public class gq implements car

}

package xin.chen.create_type.factory.******factory;

/** * @author: create_by: chenxin

* @data:created in 2018/8/3 9:52

* @version:

* @acton: 測試簡單工廠

*/public class test******factorydemo

}

關係圖:

工廠方法

package xin.chen.create_type.factory.factorymethod;

/** * @author: create_by: chenxin

* @data:created in 2018/8/3 9:50

* @version:

* @acton: 行為藉口

*/public inte***ce car

package xin.chen.create_type.factory.factorymethod;

/** * @author: create_by: chenxin

* @data:created in 2018/8/3 10:33

* @version:

* @acton: 行為工廠

*/public inte***ce ca***ctory

package xin.chen.create_type.factory.factorymethod;

/** * @author: create_by: chenxin

* @data:created in 2018/8/3 9:50

* @version:

* @acton:

*/public class byd implements car

}

package xin.chen.create_type.factory.factorymethod;

/** * @author: create_by: chenxin

* @data:created in 2018/8/3 10:34

* @version:

* @acton:

*/public class bydfactory implements ca***ctory

}

package xin.chen.create_type.factory.factorymethod;

/** * @author: create_by: chenxin

* @data:created in 2018/8/3 9:51

* @version:

* @acton:

*/public class gq implements car

}

package xin.chen.create_type.factory.factorymethod;

/** * @author: create_by: chenxin

* @data:created in 2018/8/3 10:35

* @version:

* @acton:

*/public class gqfactory implements ca***ctory

}

package xin.chen.create_type.factory.factorymethod;

/** * @author: create_by: chenxin

* @data:created in 2018/8/3 10:35

* @version:

* @acton: 測試工廠方法

*/public class testfactorymethoddemo

}

關係圖:

設計模式之工廠模式(建立型)

什麼是設計模式?每乙個模式描述了我們周圍不斷重 生的問題,以及該問題的解決方案的核心。這樣,你就能一次又一次地使用該方案而不必做重複勞動。1.簡單工廠 factory 當看到 new 時,就會想到 具體 pizza pizza new cheesepizza 當有很多種pizza時,我們需要用選擇語...

設計模式 建立型之工廠模式

讓乙個單獨的類專門實現乙個方法,根據傳入的型別引數建立不同型別的物件,並返回他們的抽象,這種建立物件的模式叫做工廠模式 工廠模式分為簡單工廠模式 工廠方法模式和抽象工廠模式 工廠模式將不同子類的例項化的過程封裝在單獨的類,讓子類只專注於實現,實現了功能解耦 簡單工廠模式由三部分組成 父類介面 pub...

設計模式之建立型 工廠模式

工廠模式 實現了建立者和呼叫者的分離 分類 簡單工廠模式 用來生成同一等級結構中的任意產品 對於增加新的產品,需要修改已有的 工廠方法模式 用來生成同一等級結構中的固定產品 支援增加任意產品 抽象工廠模式 用來生成不同產品族的全部產品 對於增加新的產品,無能為力,支援增加產品族 物件導向設計的基本原...