工廠模式與抽象工廠!到底有好厲害!

yaoxin520發表於2008-07-01

本人是菜鳥哈!今年19歲!初次發帖希望各位多多關照!

前幾天接觸到了工廠模式與抽象工廠!

一個工廠只能生產出一種產品!有多少不同型別的產品就要多少個工廠!抽象工廠也不能完全的擴充套件!是不是有點累喲!

今天自己寫了一個小程式!用上了工廠模式:

用XML配置自己寫的類!

<?xml version="1.0" encoding="UTF-8"?>

<beans>

<bean-id id="userDAO" class ="com.accp.student.class"></bean-id>

<bean-id id="。。。" class ="com.accp.student.。。。"></bean-id>

<bean-id id="。。。" class ="com.accp.student.。。。"></bean-id>

<bean-id id="。。。" class ="。。。。"></bean-id>

</beans>

用一個工廠來建立一個DAO物件!在商業邏輯層使用任何DAO物件時只需要通過Factory.getcreateDAO()

+引數如:("USERDAO“)

getcreateDAO()方法體:{

//ParseXml.getBend(id);根據給定字串到XML裡面獲取出類相應類的路徑!

String path= ParseXml.getBend(id);

IDAO idao=null;

try {

//使用反射來構造物件!即所有配置中都可以!

idao=(IDAO)Class.forName(path).newInstance();

} catch (Exception e) {

e.printStackTrace();

}

return idao;

}

IDao userdao = (UserDao) Factory.getcreateDAO("user");

即可使用UserDAO該類的方法

如果程式碼這樣寫了! 就可以不要什麼工廠了! 直接改配置檔案即可! 不管什麼產品只要在XML裡配置了!就可以訪問!其實這個和用SPRING配置一個BEAN一樣的道理! 如果有的SPRING還要 用的上工廠模式嗎?

越想越糊塗了!到底在什麼情況下用模式最好! 如果XML+反射, 工廠模式還有什麼有沫!也許是自己搞不清楚! 請各位大蝦指點一二!

相關文章