简单工厂模式(simple factory )

简单工厂模式的构成
工厂类   (Creator)角色:担任这个角色的是简单工厂模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创建产品对象,它往往由一个具体类实现。
抽象产品(Product)角色:担任这个角色的类是简单工厂模式所创建的对象的父类,或它们共同拥有的接口。抽象产品角色可以用一个接口或者抽象类实现。
具体产品(Concrete Product)角色:简单工厂模式所创建的任何对象都是这个角色的实例,具体产品角色由一个具体类实现。

 1 /*工厂类   (Creator)角色*/
 2   package simplefactory;
 3 public class Creator
 4 {
 5     public static Product createProduct(String str)
 6     {
 7         if("A".equals(str))
 8         {
 9             return new ConcreteProductA();
10         }
11         else if("B".equals(str))
12         {
13             return new ConcreteProductB();
14         }
15         
16         return null;
17     }
18 }
19 
20 /*抽象产品(Product)角色*/
21 package simplefactory;
22 public abstract class Product
23 {
24 
25 }
26 
27 /*具体产品(Concrete Product)角色*/
28 package simplefactory;
29 public class ConcreteProductA extends Product
30 {
31 
32 }
33 /*具体产品(Concrete Product)角色*/
34 package simplefactory;
35 public class ConcreteProductB extends Product
36 {
37 
38 }
39 
40 package simplefactory;
41 public class Client
42 {
43     public static void main(String[] args)
44     {
45         Product productA = Creator.createProduct("A");
46         
47         System.out.println(productA.getClass().getName());
48         
49         Product productB = Creator.createProduct("B");
50         
51         System.out.println(productB.getClass().getName());
52     }
53 }
原文地址:https://www.cnblogs.com/daneres/p/4823109.html