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 }