java工廠模式

2021-09-09 06:59:32 字數 2136 閱讀 7619

實現了建立者和呼叫者分離,工廠模式分為簡單工廠、工廠方法、抽象工廠模式

簡單工廠 : 用來生產同一等級結構中的任意產品。(不支援拓展增加產品)

工廠方法 :用來生產同一等級結構中的固定產品。(支援拓展增加產品)   

抽象工廠 :用來生產不同產品族的全部產品。(不支援拓展增加產品;支援增加產品族)

簡單工廠模式相當於是乙個工廠中有各種產品,建立在乙個類中,客戶無需知道具體產品的名稱,只需要知道產品類所對應的引數即可。但是工廠的職責過重,而且當型別過多時不利於系統的擴充套件維護。

public inte***ce car
public class aodi implements car 

}

public class jili implements car 

}

public class ca***ctory 

if(name.equals("奧迪"))

if(name.equals("吉利"))

return null;

}}

public class client01 

}

單工廠的優點/缺點

優點:簡單工廠模式能夠根據外界給定的資訊,決定究竟應該建立哪個具體類的物件。明確區分了各自的職責和權力,有利於整個軟體體系結構的優化。

缺點:很明顯工廠類集中了所有例項的建立邏輯,容易違反graspr的高內聚的責任分配原則

工廠方法模式factory method,又稱多型性工廠模式。在工廠方法模式中,核心的工廠類不再負責所有的產品的建立,而是將具體建立的工作交給子類去做。該核心類成為乙個抽象工廠角色,僅負責給出具體工廠子類必須實現的介面,而不接觸哪乙個產品類應當被例項化這種細節。

public inte***ce car
public class aodi implements car 

}

public class jili implements car 

}

public class jilifactory implements ca***ctory 

}

public class aodifactory implements ca***ctory 

}

public class client 

}

什麼抽象工廠模式

抽象工廠簡單地說是工廠的工廠,抽象工廠可以建立具體工廠,由具體工廠來產生具體產品。

//發動機

public inte***ce engine

class enginea implements engine 

public void start()

}

class engineb implements engine 

public void start()

}

//座椅

public inte***ce chair

class chaira implements chair

}

class chairb implements chair

}

public inte***ce ca***ctory
public class jilifactory implements ca***ctory  

public chair createchair()

}

public class client 

}

java工廠模式

定義乙個用於建立物件的介面,我們需要乙個物件例項的時候就可以通過呼叫介面的方法來獲取我們想要的物件例項。首先,最簡單的 簡單工廠介面,可以返回例項 public inte ce factory 工廠實現類,返回money例項 public class moneyfactoryimpl impleme...

Java工廠模式

工廠模式理解起來並不是很難 只要耐心看看 理解它的運作機理就好了。運用時就要看個人的靈活性了。工廠是用來生產東西,但是從程式的角度講就是 用乙個工廠類來生產出你所需要的物件,這個生產出的物件可以是任意形式的 包括人,動物,水果,植物等不一定是要 機械性的東西 這是它跟現實工廠的區別之一。產品是由工廠...

java工廠模式

1.定義介面類idaouser public inte ce idaouser 2.定義工廠類,此工廠類實現了兩個不同類的呼叫。public final class daouse ctory return null 3 介面的實現,實現了介面idaouser的方法 public class daou...