我有一个项目涉及不同种类的产品网上商店。据我所知,如果您有多个类继承自一个基类,那么工厂设计模式是可行的。我只是很难决定将逻辑放在哪里,以便实际决定使用哪个工厂。 我已经为不同种类的产品创建了类和工厂类。 public class Product
{
public int ID { get; protected set; }
public string Name { get; set; }
public ProductType Type { get; private set; }
public Product(int id)
{
ID
我试着用工厂模式来创造产品。我为产品类创建了一个接口来实现和设计一个工厂,该工厂将根据传递给它的参数生成产品。
接口
interface Product
{
public function getName();
}
产品
class ProductA implements Product{
public function getName()
{
return 'A';
}
}
class ProductB implements Product{
public function getName()
{
return 'B'
我有一个Product类,其中包含方法和复杂的数据结构。我将有8种类型的产品,只是在数据结构的内容上不同,没有其他的。在我的应用程序中,我需要为这8种产品中的每一种创建一个实例,并且存在的产品类型在运行时不会改变。
最好的方法是什么?为什么?
A) Class Product有8个子类。这些子类中的每一个都只定义构造函数。在每个构造函数中,都为该类型的产品正确地创建了数据结构。
B)一个工厂类有8个子类。这些子类中的每一个都是8种产品的具体工厂。类Product没有子类。每个具体的工厂通过创建适当的数据结构并将其作为参数传递给Product类的构造函数来创建特定类型的产品。
我一直在回顾工厂设