在多增加乙個產品類時需要修改工廠類,違背了開閉原則(ocp);
為了改善這一缺陷,我們引出使用反射實現工廠設計模式
1.不違背開閉原則
2.**實用性性強
inte***ce
ifruit
class
implements
ifruit
}class
orange
implements
ifruit
}class
fruitfactory
catch
(illegalacces***ception e)
catch
(instantiationexception e)
}catch
(classnotfoundexception e)
return null;
}}
public
class
test
}
工廠模式(java反射的使用)
在工廠模式中,你不需要關係水果是怎麼種出來的,你只要知道水果的名字,將名字交給工廠,你就可以得到水果。我們首先建立乙個水果的介面,所有水果都有乙個被吃了的方法,如下 所示 package com.fruitinte ce.demo public inte ce fruit 我們通過水果的介面定義好具...
反射實現抽象工廠
上篇我們說了介面工廠,接下來我們看看抽象工廠 抽象類用abstract修飾,抽象類不能被例項化,抽象方法必須宣告在抽象類中,抽象型別不一定不需存在抽象方法,具體派生類必須覆蓋基類的抽象方法,抽象派生類可以覆蓋基類的抽象方法也可以不覆蓋 這樣我們就實現了在基類中新增error方法,子類中無需新增,只需...
反射實現簡單工廠模式
傳統的簡單工廠模式缺點是 缺點 由於工廠類集中了所有例項的建立邏輯,這就直接導致一旦這個工廠出了問題,所有的客戶端都會受到牽連 這樣一來,但產品的種類增加的時候,即有不同的產品介面或者抽象類的時候,工廠類就需要判斷何時建立何種種類的產品,這就和建立何種種類產品的產品相互混淆在了一起,違背了單一職責,...