色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java簡(jiǎn)單工廠和工廠方法

Java中,工廠模式是一種常用的設(shè)計(jì)模式。工廠模式可以根據(jù)用戶的需求,創(chuàng)建不同類型的對(duì)象。Java中有兩種常用的工廠模式,分別是簡(jiǎn)單工廠和工廠方法。

簡(jiǎn)單工廠:簡(jiǎn)單工廠也叫靜態(tài)工廠方法模式,它是通過(guò)一個(gè)工廠類來(lái)創(chuàng)建不同類型的對(duì)象,該工廠類通常使用靜態(tài)方法。簡(jiǎn)單工廠的優(yōu)點(diǎn)是簡(jiǎn)單易懂,對(duì)用戶來(lái)說(shuō)十分方便。但是它的缺點(diǎn)也很明顯,這種模式只適用于少量對(duì)象的創(chuàng)建,如果要擴(kuò)展新的對(duì)象類型,需要修改工廠類的代碼。

public class SimpleFactory {
public static Product createProduct(String type){
if("A".equals(type)){
return new ConcreteProductA();
}else if("B".equals(type)){
return new ConcreteProductB();
}else{
return null;
}
}
}

工廠方法:工廠方法也叫多形性工廠模式,它是通過(guò)定義一個(gè)抽象工廠類和其子類來(lái)創(chuàng)建不同類型的對(duì)象,每個(gè)子類實(shí)現(xiàn)抽象工廠類中的工廠方法。工廠方法的優(yōu)點(diǎn)是擴(kuò)展性好,可以根據(jù)需要增加新的產(chǎn)品,只需要增加相應(yīng)的子類就可以。但是它的缺點(diǎn)也很明顯,每增加一個(gè)產(chǎn)品,就需要增加一個(gè)對(duì)應(yīng)的工廠子類。

public abstract class Factory {
public abstract Product createProduct();
}
public class ConcreteFactoryA extends Factory {
public Product createProduct() {
return new ConcreteProductA();
}
}
public class ConcreteFactoryB extends Factory {
public Product createProduct() {
return new ConcreteProductB();
}
}

簡(jiǎn)單工廠和工廠方法兩種模式都有各自的優(yōu)點(diǎn)和缺點(diǎn),具體的選擇需要根據(jù)實(shí)際情況來(lái)決定。雖然工廠模式對(duì)于生產(chǎn)對(duì)象這個(gè)簡(jiǎn)單事情有點(diǎn)“為雞蛋老母搬一下磚”的感覺(jué),但是在實(shí)際開(kāi)發(fā)中,工廠模式可以大量減少代碼的重復(fù),提高程序的擴(kuò)展性。