本篇部落格主要是總結一下自己對工廠模式的認識,例子可能不太恰當,uml類圖也可能線用錯。不過思想還是正確的
望各位指出錯誤
簡單工廠模式嚴格意義上不屬於設計模式
2.1 抽象產品角色:是具體產品角色的共同父類,提供了乙個標準介面。
e.g: 將計算機專業看成乙個抽象產品角色
public abstract class cs
2.2 具體產品角色:繼承實現抽象產品角色,有自己具體的實現
e.g: 具體的計算機專業
物聯網工程
public class iot extends cs
}
軟體工程
public class soft extends cs
}
2.3 工廠角色:簡單工廠模式的核心,建立具體的產品類物件(create方法為靜態的)
public class csfactory }}
public class testfactory
}
簡單工廠模式主要是為了介紹工廠模式的進門,雖然比較簡單,但卻是理解的基礎,為後面其他工廠模式的理解打下基礎、
5.1 優點:使用者無需知道方法的具體實現過程。
缺點 :擴充套件性差,產生新的計算機專業的時候,需要更改工廠類。(破壞了**的開閉原則(設計模式原則之一):對擴充套件開放,對修改關閉)
2.1 抽象工廠物件:工廠模式的核心,具體工廠物件實現/繼承該工廠物件
e.g. 計算機類專業工廠產生計算機專業
public abstract csfactory
2.2 抽象產品角色:是具體產品角色的共同父類,提供了乙個標準介面。
e.g : 將計算機專業看成乙個抽象產品角色
public abstract class cs
2.3具體產品角色:繼承實現抽象產品角色,有自己具體的實現。
e.g: 計算機專業分為物聯網工程以及軟體工程。
public class iot extends cs
}public class soft extends cs
}
2.4 具體工廠物件:實現/繼承抽象工廠物件。
e.g:物聯網以及軟體工程兩個專業有對應的工廠
public class iotcsfactory extends csfactory
}public class softcsfactory extends csfactory
}
public class testfactory
}
簡單工廠模式的衍生,是對簡單工廠模式的抽象。相當於將簡單工廠模式中的工廠分為抽象工廠和具體工廠。符合開閉原則,新增新的專業,只要其工廠繼承原有抽象工廠,以及本身繼承原有的抽象cs類。
5.1 新增新的專業,除了新增新的專業類,也要提供其對應的具體工廠類。不用改變原來的**,
5.2 乙個具體工廠只能建立乙個具體產品。
2.1 抽象工廠物件:工廠模式的核心,具體工廠物件實現/繼承該工廠物件
e.g 抽象cs工廠,會產生物聯網以及軟體工程兩個專業
public abstract abstractcsfactory
2.2 抽象產品角色:是具體產品角色的共同父類,提供了乙個標準介面。
e.g 物聯網以及軟體專業都可以細分,所以都設定為抽象類
public abstract class iot
public abstract class soft
2.3具體產品角色:繼承實現抽象產品角色,有自己具體的實現。
e.g 物聯網以及軟體工程兩個專業都有師範和非師範類
public class teiot extends iot
}public class noteiot extends iot
}public class tesoft extends soft
}public class notesoft extends soft
}
2.4 具體工廠物件:實現/繼承抽象工廠物件。
e.g. 分為師範類工廠和非師範類工廠
public class tecsfactory extends abstractcsfactory
@override
public soft createsoft()
}
public class notecsfactory extends abstractcsfactory
@override
public soft createsoft()
}
public class testfactory
}
相對於工廠方法模式,抽象工廠模式可以產生多餘的其他功能。乙個具體的工廠可以產生多個有類似功能的物件。 設計模式 工廠模式 1
2.工廠方法模式 3.抽象工廠模式 public inte ce fruit public class banana implements fruit public class implements fruit public class fruitfactory public static frui...
設計模式 1 工廠模式
介面行模式 職責型模式 構造型模式 不通過類建構函式來建立物件,使用特定的模式來為客戶類建立例項物件 操作型模式 擴充套件型模式 在建立類時,通常可以同時定義多個建構函式來建立這個類的例項。然而有些時候,客戶 雖然需要某個物件,但是卻不關心這個物件究竟是由哪個類建立而來。工廠模式的意圖是定義乙個用於...
設計模式 (1)工廠模式
工廠模式 工廠模式屬於建立型模式,大致可以分為三類,簡單工廠模式 工廠方法模式 抽象工廠模式。例如部署多種資料庫的情況,可能在不同的地方要使用不同的資料庫,此時只需要在配置檔案中設定資料庫的型別,每次再根據型別生成例項,這樣,不管下 面的資料庫型別怎麼變化,在客戶端看來都是只有乙個abstractp...