gpt4 book ai didi

java - 工厂设计模式缺失环节的实现

转载 作者:行者123 更新时间:2023-11-30 08:25:35 25 4
gpt4 key购买 nike

我已阅读 this link 中的以下文章.

请仅引用类(class)注册-避免反射部分。

在此示例中,我无法理解以下代码行的含义:

static
{
ProductFactory.instance().registerProduct("ID1", new OneProduct());
}

我不清楚的问题:
1.方法instance()在哪里定义的?

2.实例方法是否应该是静态的,如果是的话,它的实现是什么样子的?
(return this 不可能通过静态方法)

*请坚持给出的例子,除非它是错误的,我试图专注于一个工厂“配方”

最佳答案

我正在尝试回答您的以下问题:

1.Where is the method instance() defined?

该方法定义在类 ProductFactory 中,这是显而易见的。

2.Is instance method should be static, if so how its implementation will look a like?

是的,它应该是static。请看下面类 ProductFactoryinstance() 方法的定义:

public class ProductFactory extends Factory
{
private static ProductFactory _instance;
private HashMap m_RegisteredProducts = new HashMap();

public static synchronized ProductFactory instance()
{
if (_instance == null)
_instance = new ProductFactory();
return _instance;
}

public void registerProduct(String productID, Product p) {
m_RegisteredProducts.put(productID, p);
}

public Product createProduct(String productID){
((Product)m_RegisteredProducts.get(productID)).createProduct();
}
}

关于java - 工厂设计模式缺失环节的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22117984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com