posts - 2, comments - 2, trackbacks - 0, articles - 23
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
一、抽象工厂模式和工厂方法模式的区别是:
        工厂方法模式是一个工厂具体类对应一个产品的等级结构,而Abstract Factory 是一个工厂的具体类相应多个产品的等级结构
二、UML图

                            
三:简单测试代码如下:
 1/**
 2 * 抽象的工厂接口
 3 */

 4public interface IFactory {
 5    /**
 6     * 等级结构A的工厂方法
 7     */

 8    public IProductA factoryA();
 9    
10    /**
11     * 等级结构B的工厂方法
12     */

13    public IProductB factoryB();
14}

15public class FactoryA implements IFactory {
16
17    public IProductA factoryA() {
18        return new ProductA();
19    }

20
21    public IProductB factoryB() {
22        return new ProductB();
23    }

24
25}

26public class FactoryB implements IFactory {
27
28    public IProductA factoryA() {
29        return new ProductA();
30    }

31
32    public IProductB factoryB() {
33        return new ProductB();
34    }

35
36}

37/**
38 * 产品的接口
39 */

40
41public interface IProductA {
42    void helloA();
43}

44
45public class ProductA implements IProductA{
46
47    public void helloA() {
48        System.out.println("ProductA");
49    }

50
51}

52
53public interface IProductB {
54    void helloB();
55}

56public class ProductB implements IProductB{
57
58    public void helloB() {
59        System.out.println("Product B");
60    }

61}

62
63public class TestAbstractFactory {
64    
65    /**
66     * 测试抽象工厂模式
67     * @param args
68     */

69    public static void main(String[] args) {
70        IFactory f = new FactoryA();
71        f.factoryA().helloA();
72        f.factoryB().helloB();
73        
74        IFactory f1 = new FactoryB();
75        f1.factoryA().helloA();
76        f1.factoryB().helloB();
77    }

78
79}

80
81
82

只有注册用户登录后才能发表评论。


网站导航: