定義乙個用於建立物件的介面,讓子類決定例項化哪個類。
工廠方法使乙個類的例項化延遲到其子類。
public inte***ce ileifeng
1.產品一:學生
public class student implements ileifeng
@override
public void wash()
@override
public void buyrice()
}2.產品二:志願者
public class volunteer implements ileifeng
@override
public void wash()
@override
public void buyrice()
}
public inte***ce ifactory
1.學生工廠類實現
public class studentfactory implements ifactory
}2.志願者工廠類實現
public class voluntee***ctory implements ifactory
}
public class test
}
優:
克服了簡單工廠開放-封閉原則,保持了封裝物件建立過程的優點,
擁抱變化,符合迪公尺特法則,符合依賴倒置原則,符合黎克特制替換原則。
缺:需要creator和相應的子類作為factory method的載體,如果應用模型
確實需要creator和子類存在,則很好;否則的話,需要增加乙個類層次。
Java23種設計模式之工廠方法模式
一 什麼是工廠方法模式 工廠方法模式同樣屬於類的建立型模式又被稱為多型工廠模式 工廠方法模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可...
java 23中設計模式之工廠方法模式
上一節說到了簡單工廠模式 通過例項化蘋果手機的案例,將簡單工廠模式做了簡單的介紹。我們可以將例項化蘋果手機這樣的複雜操作,放置到乙個單獨的工廠類中封裝起來。這樣我們需要例項化的時候直接呼叫工廠類的方法就可以了。但是。如果隨著業務的越來越複雜,手機的品種越來越多,我們這個工廠類需要維護的地方也會越來越...
Java 23種設計模式之簡單工廠模式
就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。簡單工廠模式的實質 是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類 這些產品類繼承自乙個 父類或介面 的例項。public inte ce isender1.產品一 public class qqsender implement...