1 public class FactoryMethod { 2 3 public static void main(String[] args) { 4 // 使用者和被使用者二者之間耦合,產生了依賴,當被使用者產生改變時,會影響使用者 5 //使用工廠模式來下降二者之間的依賴. 6 Product phone = ProductFactory.getProduct("computer"); 7 assert phone != null; 8 phone.work(); 9 } 10 11 } 12 13 class ProductFactory{ 14 public static Product getProduct(String name) { 15 if("phone".equals(name)) { 16 return new Phone(); 17 }else if ("computer".equals(name)) { 18 return new Computer(); 19 }else { 20 return null; 21 } 22 } 23 } 24 25 interface Product{ 26 public void work(); 27 } 28 class Phone implements Product{ 29 @Override 30 public void work() { 31 // TODO Auto-generated method stub 32 System.out.println("手機開始工做..."); 33 } 34 } 35 class Computer implements Product{ 36 37 @Override 38 public void work() { 39 // TODO Auto-generated method stub 40 System.out.println("電腦開始工做..."); 41 } 42 43 }