首页 > 试题广场 >

以下关于工厂模式说法正确的是( )

[不定项选择题]
以下关于工厂模式说法正确的是( )
  • 工厂模式主要是为创建类产生接口
  • 简单工厂模式中的抽象产品角色必须由接口或抽象来实现
  • 简单工厂模式中只有一个工厂类
  • 工厂方法模式里具有不同的工厂子类

工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 
工厂模式可以分为三类: 

1)简单工厂模式(Simple Factory) 
2)工厂方法模式(Factory Method) 
3)抽象工厂模式(Abstract Factory) 

 这三种模式从上到下逐步抽象,并且更具一般性。 
        GOF在《设计模式》一书中将工厂模式分为两类:工厂方法模式(Factory Method)与抽象工厂模式(Abstract Factory)。

        将简单工厂模式(Simple Factory)看为工厂方法模式的一种特例,两者归为一类。 

三、区别 
工厂方法模式:
一个抽象产品类,可以派生出多个具体产品类。   
一个抽象工厂类,可以派生出多个具体工厂类。   
每个具体工厂类只能创建一个具体产品类的实例。
抽象工厂模式:
多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。   
一个抽象工厂类,可以派生出多个具体工厂类。   
每个具体工厂类可以创建多个具体产品类的实例。   
区别:
工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。   
工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。
两者皆可。 

 四、简单工厂模式 
建立一个工厂(一个函数或一个类方法)来制造新的对象。

发表于 2017-08-24 16:26:31 回复(0)
主要是为创建对象提供过渡接口
发表于 2019-08-30 11:12:21 回复(0)

工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 
工厂模式可以分为三类: 

1)简单工厂模式(Simple Factory) 
2)工厂方法模式(Factory Method) 
3)抽象工厂模式(Abstract Factory) 

 这三种模式从上到下逐步抽象,并且更具一般性。 
        GOF在《设计模式》一书中将工厂模式分为两类:工厂方法模式(Factory Method)与抽象工厂模式(Abstract Factory)。

        将简单工厂模式(Simple Factory)看为工厂方法模式的一种特例,两者归为一类。 

三、区别 
工厂方法模式:
一个抽象产品类,可以派生出多个具体产品类。   
一个抽象工厂类,可以派生出多个具体工厂类。   
每个具体工厂类只能创建一个具体产品类的实例。
抽象工厂模式:
多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。   
一个抽象工厂类,可以派生出多个具体工厂类。   
每个具体工厂类可以创建多个具体产品类的实例。   
区别:
工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。   
工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。
两者皆可。 

 四、简单工厂模式 
建立一个工厂(一个函数或一个类方法)来制造新的对象。

发表于 2022-08-16 10:30:34 回复(0)
根据前面的同学说的总结的:
工厂模式                    简单工厂(工厂方法的特例)        工厂方法            抽象工厂
抽象产品类-具体类            -?                                                  1-多                多-多   
抽象工厂类-具体类            1                                                     1-多                1-多
具体工厂类-实例               -?                                                   1-1                 1-多
发表于 2022-09-28 09:22:40 回复(0)