我正在研究设计模式(不,这不是针对学校,而是我自己的教化和自我提升)。我参与过的项目对其中一个组件具有以下架构:
class ProductFactory {
static AbstractProduct * getProduct() {
#ifdef ANDROID
return new AndroidProduct;
#elif defined IOS
return new IOSProduct;
#endif
return 0;
}
};
根据我对Abstract Factory和Factory Method的读数,我正在尝试对此代码进行分类。例如,创建者类是具体的,只创建了一种产品(与规范窗口,滚动条等相反)。但是,创建的逐个产品不会延迟到子类 - 而是由一个创建者类创建不同的子类。
所以我的问题很简单:上面的代码最符合哪种模式,为什么?
非常感谢!
答案 0 :(得分:1)
上述代码最符合哪种模式,为什么?
这不是一个实际的模式本身;但是,一个具体的类,其唯一目的是实例化正确的实现,通常称为 Simple Factory 。
当您要实例化的具体实现仅限于少数排列组合时,此惯用法非常有用。
答案 1 :(得分:-1)
我会说这是
经纪人模式https://en.wikipedia.org/wiki/Broker_Pattern
代理模式https://en.wikipedia.org/wiki/Proxy_pattern
在抽象工厂模式中