講解三種工廠模式,並比較各自優缺點
/**
* @author gjing
* 抽象產品
**/inte***ce
product
/** * 產品a
*/class
producta
implements
product
}/**
* 產品b
*/class
productb
implements
product
}/**
* 產品工廠
*/class
productfactory
}}
** 呼叫:**
/**
* @author gjing
**/public
class
test
}
/**
* @author gjing
* 抽象工廠
**/public
inte***ce
factory
/** * @author gjing
* 建立產品a 的工廠a
**/class
factorya
implements
factory
}/**
* @author gjing
* 工廠b負責建立產品b
**/class
factoryb
implements
factory
}
/**
* @author gjing
* 抽象產品
**/inte***ce
product
/** * 產品a
*/class
producta
implements
product
}/**
* 產品b
*/class
productb
implements
product
}
呼叫
public
class
test
}
/**
* @author gjing
**/public
inte***ce
factory
class
factorya
implements
factory
@override
public product getproductb()
}
/**
* @author gjing
* 抽象產品
**/abstract
class
product
/** * 抽象產品a
*/abstract
class
producta
extends
product
/** * 抽象產品a的具體某個產品
*/class
productaa
extends
producta
}/**
* 抽象產品b
*/abstract
class
productb
extends
product
/** * 抽象產品b的具體某個產品
*/class
productbb
extends
productb
}
呼叫
public
class
test
}
以上為三種不同工廠模式,他們各自的優缺點是啥?
優點:將建立使用工作分開,不必關心類物件如何建立,實現了解耦;缺點:違背「開放 - 關閉原則」,一旦新增新產品就不得不修改工廠類的邏輯,這樣就會造成工廠邏輯過於複雜。
a. 優點:
1. 符合開-閉原則:新增一種產品時,只需要增加相應的具體產品類和相應的工廠子類即可
2. 符合單一職責原則:每個具體工廠類只負責建立對應的產品
b. 缺點:
1. 增加了系統的複雜度:類的個數將成對增加
2. 增加了系統的抽象性和理解難度
3. 乙個具體工廠只能建立一種具體產品
優點:
1.降低耦合
2.符合開-閉原則
3.符合單一職責原則
4.不使用靜態工廠方法,可以形成基於繼承的等級結構。
缺點:難以擴充套件新種類產品
定義
對比
以上為個人理解,如理解有誤歡迎各位指正
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...