A. Java與模式,簡單工廠模式的方法為什麼是靜態的
在不需要用對象成員的時候就用類成員,這個沒什麼好說的... 一定要說的話靜態方法調用速度快
B. java 設計模式(工廠方法)
面向抽象(抽象類或介面)編程。
IWorkFactory studentWorkFactory = new StudentWorkFactory(); 注意:類型是介面類型,即抽象工廠,抽象工廠生產的是抽象產品,而new的則是具體工廠,是由子類實現的,具體工廠生產具體產品。面向抽象的好處:1.在設計抽象的時候不用管具體的實現,只要定義介面知道它用來干什麼就行,這樣,我只需要知道抽象介面就能繼續下面的開發設計工作了,而不用事先設計具體的實現內容;2. 可以擴展多個子類實現抽象介面,更利於系統後期的擴展,而對原系統不造成任何影響,即:開-閉原則。
TeacherWork tt = new TeacherWork(); 不用說就是面向具體實現類編程,缺點就是擴展性不好,對系統後期維護擴展影響較大。
舉個簡單的例子:
假如在系統的A.java中代碼中使用了TeacherWork 類型對象,是滿足了目前軟體的需求,但是,如果有一天需求變化了需要一個StudentWork 類型對象,該怎麼辦?只能修改A.java類來滿足這樣的修改需求。這樣就影響了原來系統結構穩定性,需要重新調試和測試,而這帶來的維護成本是非常大的,有時可能還會帶來系統錯誤,而影響系統運行。
如果在A.java類中應用Work介面類型就不會存在這種問題,A.java不需要任何修改,只需要修改注入到A中的Work介面的具體實現類即可。
面向抽象編程的好處就在於對系統維護和擴展上,即在不影響原系統穩定運行的基礎上增加新的擴展行為,即要符合「開-閉」原則。可能會因此而失去一定的效率問題,但是對於後期的維護成本來說,這個可以忽略不計。 推薦你一本好書:《軟體秘笈-設計模式那點事》其中講解的設計模式很到位,還有每個模式的靜態類圖和JDK中設計模式的具體分析講解,讀了收獲一定很大。祝你成功!
C. 求java工廠模式的一個簡單代碼例子,盡量簡單
這個應該比較簡單一點。
某系統日誌記錄器要求支持多種日誌記錄方式,如文件記錄、資料庫記錄等,且用戶可以根據要求動態選擇日誌記錄方式。現使用工廠方法模式設計該系統,並寫出相應Java代碼。
interface Log{
public void writeLog();
}
class FileLog implements Log{
public void writeLog(){
System.out.println("文件記錄");
}
}
class DatabaseLog implements Log{
public void writeLog(){
System.out.println("資料庫記錄");
}
}
interface LogFactory{
public Log createLog();
}
class FileLogFactory implements LogFactory{
public Log createLog(){
return new FileLog();
}
}
class DatabaseLogFactory implements LogFactory{
public Log createLog(){
return new DatabaseLog();
}
}
public class Client{
public static void main(String[] args) {
try{
Log log;
LogFactory factory;
//這里可以改成使用DOM和Java反射機制讀取XML文件,獲取工廠類名
factory=new DatabaseLogFactory ();
log=factory.createLog();
log.writeLog();
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
}
D. 工廠模式,簡單工廠模式,抽象工廠模式三者有什麼區別
工廠模式,簡單工廠模式,抽象工廠模式三者區別如下:
1、首先,三者的創建對象是不相同的。
進行創建對象時,「工廠模式」不使用new創建對象,而是使用Factory模式;「簡單工廠模式」則是通過fw模式來建立對象;「抽象工廠模式」使用迭代模式來創建對象。
(4)簡單工廠方法模式java擴展閱讀:
簡單工廠模式優缺點
1、優點:
工廠類含有必要的判斷邏輯,可以決定在什麼時候創建哪一個產品類的實例,客戶端可以免除直接創建產品對象的責任,而僅僅"消費"產品。簡單工廠模式通過這種做法實現了對責任的分割。
當產品有復雜的多層等級結構時,工廠類只有自己,以不變應萬變,就是模式的缺點。因為工廠類集中了所有產品創建邏輯,一旦不能正常工作,整個系統都要受到影響。
2、缺點:
系統擴展困難,一旦添加新產品就不得不修改工廠邏輯,有可能造成工廠邏輯過於復雜,違背了"開放--封閉"原則(OCP)。另外,簡單工廠模式通常使用靜態工廠方法,這使得無法由子類繼承,造成工廠角色無法形成基於繼承的等級結構。
E. JAVA中關於工廠方法模式和使用多個介面的疑問
但是你這樣每次一個具體類都要實現很多介面。。小程序看不出來工廠模式的好處。。
F. Java的簡單工廠模式中子類怎麼調用自己特有的方法(父類沒有)
如果你工廠類創建出來看是父類型,就得強轉成子類,再調用其方法。
G. java與模式,這段代碼怎麼反映簡單工廠模式了
工廠模式 就是用對象不要自己new 了,要先創建其對象的工廠,DateFormat就是,getDateInstance是得到該對象的一個實例(就是得到你想要的對象),然後就可以繼續使用對象的方法做事了
H. java中的工廠模式是什麼意思
工廠模式簡單的講就是用工廠方法代替了new的操作,
在通俗點就是說,你new一個對象的時候直接調用工廠方法就行了,
在編程時,需要定義一個工廠介面,由不同的的子類去實現,再定一個具體工廠類,定義一個產生實例的方法,我們通過這個方法來獲得實例就行了,