抽象工厂

来源:互联网 发布:彩票遗漏数据分析 编辑:程序博客网 时间:2024/04/30 09:52

在下列情况下,我们应当考虑使用抽象工厂模式:

   1、一个系统应该不依赖于产品实例被创建,组成和表示的细节。这对于所有形态的工厂模式都是重要的

   2、这个系统的产品有多于一个的产品簇;

   3、同属于同一个产品族的产品是设计成在一起使用的。这一约束必须得在系统的设计中体现出来。

         最后,不同的产品以一系列的接口的面貌出现,从而使系统不依赖于接口实现的细节。

(以下例子引用自网上资料) 

1 public   interface  ComputerProducer {}
2
public   class  PCProducer  implements  ComputerProducer
{
    RAM createRAM()
    
{
         
return   new  PCRAM();
    }

    CPU createCPU()
    
{
         
return   new  PCCPU()
    }

}

 

 1public MacProducer implements ComputerProducer
 2{
 3   RAM createRAM()
 4   {
 5     return new MacRAM();
 6   }

 7   CPU createCPU()
 8   {
 9     return new MacCPU();
10   }

11}
1public interface CPU{}
1public class MacCPU implements CPU{}
1public class PCCPU implements CPU{}


原创粉丝点击