標籤:ioc 編程 rgs interface main ati bst system 沒有
第四式 Factory 方法模式
定義:定義一個用於建立對象的介面,讓子類決定執行個體化那一個類,對象原廠模式使一個類的執行個體化延遲到子類。
優點:可以在不知具體實現的情況下編程;更容易擴充項物件的新版本;串連平行的類層次。
缺點:具體產品對象和Factory 方法的耦合性。
本質:延遲到子類的選擇實現。
public interface product { public void createProduct();}public class concreteProduct implements product { @Override public void createProduct() { // TODO Auto-generated method stub System.out.println("create product"); }}public abstract class factory { protected abstract product factoryMethod(); public void someOptions() { product prod = factoryMethod(); prod.createProduct(); }}public class concreteFactory extends factory { @Override protected product factoryMethod() { // TODO Auto-generated method stub return new concreteProduct(); }}public class user { public static void main(String[] args) { // TODO Auto-generated method stub factory fctry = new concreteFactory(); fctry.someOptions(); }}
Factory 方法模式體現了IoC/DI的思想,IoC/DI在實現上本身沒有什麼難度,只是提供了一種思想,達到了應用程式和外部資源的一種松耦的目的。
java物件導向與設計模式(三)